This commit is contained in:
Paul Eggert 2016-01-30 11:41:07 -08:00
commit 9304e6d3a2
8 changed files with 210 additions and 167 deletions

View file

@ -9174,7 +9174,7 @@
Provide NS notification objects where required to eliminate warnings
* nsterm.m (windowDidResize:, toggleFullScreen:):
* src/nsterm.m (windowDidResize:, toggleFullScreen:):
Call notification functions with notification objects
as per delegate APIs.
@ -9193,7 +9193,7 @@
Ignore fullscreen exit notifications on NS when frame is dead
* nsterm.m (windowDidResize:, windowWillExitFullScreen:)
* src/nsterm.m (windowDidResize:, windowWillExitFullScreen:)
(windowDidExitFullScreen:): Return if frame is dead.
These functions may be called when a fullscreen frame
is closed; they are called before, not after.
@ -9345,7 +9345,7 @@
2015-11-05 Juanma Barranquero <lekktu@gmail.com>
* test/automated/elisp-mode-test.el: Silence some run-time warnings.
* test/automated/elisp-mode-tests.el: Silence some run-time warnings.
(xref-elisp-deftest): Bind `find-file-suppress-same-file-warnings' to t.
2015-11-05 Tassilo Horn <tsdh@gnu.org>
@ -9430,7 +9430,7 @@
2015-11-03 Jay Belanger <jay.p.belanger@gmail.com>
* lisp/calc/calc (calc-bug-address): Change maintainer address.
* lisp/calc/calc.el (calc-bug-address): Change maintainer address.
2015-11-03 Michael Albinus <michael.albinus@gmx.de>
@ -9528,7 +9528,7 @@
Add JSX indentation via js-jsx-mode (Bug#21799)
* progmodes/js.el: Add JSX indentation support.
* lisp/progmodes/js.el: Add JSX indentation support.
(js--jsx-end-tag-re)
(js--jsx-after-tag-re): New variables.
(js--jsx-find-before-tag)
@ -9537,7 +9537,7 @@
(js--expression-in-sgml-indent-line)
(js-jsx-indent-line)
(js-jsx-mode): New functions.
* test/indent/js-jsx.el: New file.
* test/indent/js-jsx.js: New file.
* etc/NEWS: Add information about js-jsx-mode.
2015-10-31 Michael Albinus <michael.albinus@gmx.de>
@ -9949,8 +9949,8 @@
incomplete" error issued when double-clicking on the Emacs
application.
* nsterm.m (ns_constrain_all_frames, ns_init_term): Block input.
* nsterm.m (ns_send_appdefined, EmacsApp): Trace output.
* src/nsterm.m (ns_constrain_all_frames, ns_init_term): Block input.
* src/nsterm.m (ns_send_appdefined, EmacsApp): Trace output.
2015-10-28 Artur Malabarba <bruce.connor.am@gmail.com>
@ -9961,12 +9961,12 @@
Fix incorrect NextStep tool-bar-mode -- wrong number of rows in frame.
* nsterm.h (struct ns_output): New flag, in_animation.
* nsfns.m (Fx_create_frame): Initialize in_animation flag.
* nsmenu.m (free_frame_tool_bar, update_frame_tool_bar): Set
* src/nsterm.h (struct ns_output): New flag, in_animation.
* src/nsfns.m (Fx_create_frame): Initialize in_animation flag.
* src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar): Set
in_animation flag around call to "setVisible". Set new tool bar
height before call to setVisible.
* nsterm.m (x_set_window_size): Don't call [view setRow:
* src/nsterm.m (x_set_window_size): Don't call [view setRow:
andColumns:] as this fools the subsequent call to updateFrameSize
from performing the real resize.
(windowDidResize): Don't update anything when in_animation is
@ -9974,9 +9974,9 @@
Trace output.
* nsmenu.m (free_frame_tool_bar, update_frame_tool_bar)
* src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar)
(EmacsToolbar):
* nsterm.m (x_set_window_size, updateFrameSize)
* src/nsterm.m (x_set_window_size, updateFrameSize)
([EmacsView setRows: andColumns:])
2015-10-28 Nicolas Petton <nicolas@petton.fr>
@ -10655,7 +10655,7 @@
Don't add the xsi:type attribute (Exchange refuses requests which have
this attribute).
* lisp/net/soap-client.el, soap-inspect.el: Convert to lexical binding,
* lisp/net/soap-client.el, lisp/net/soap-inspect.el: Convert to lexical binding,
correct compiler warnings about unused function arguments and
local variables.
@ -10958,7 +10958,7 @@
(NSTRACE_RETURN_what): Macros to print return value for
various types.
* nsterm.m: Remove old NSTRACE macro
* src/nsterm.m: Remove old NSTRACE macro
* src/nsterm.m (nstrace_num): Trace counter.
(nstrace_depth): Current call depth.
(nstrace_leave): NSTRACE support function, called when the
@ -11007,16 +11007,16 @@
(resetCursorRects, setPosition, EmacsScroller_mouseDown)
(EmacsScroller_mouseDragged, syms_of_nsterm): Use new trace system.
* nsfns.m: Remove old NSTRACE macro
* src/nsfns.m: Remove old NSTRACE macro
* src/nsfns.m (x_set_icon_name, ns_set_name, x_explicitly_set_name)
(x_implicitly_set_name, x_set_title, ns_set_name_as_filename)
(ns_implicitly_set_icon_type, x_set_icon_type): Use new trace system.
* nsimage.m: Remove old NSTRACE macro
* src/nsimage.m: Remove old NSTRACE macro
* src/nsimage.m (ns_image_from_XBM, ns_image_for_XPM)
(ns_image_from_bitmap_file, ns_load_image): Use new trace system.
* nsmenu.m: Remove old NSTRACE macro
* src/nsmenu.m: Remove old NSTRACE macro
* src/nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog):
Use new trace system.
@ -11416,8 +11416,8 @@
Unbreak `group' option for `mail-sources'
* nnml.el (nnml-retrieve-groups, nnml-request-scan):
* nnmail.el (nnmail-get-new-mail-per-group)
* lisp/gnus/nnml.el (nnml-retrieve-groups, nnml-request-scan):
* lisp/gnus/nnmail.el (nnmail-get-new-mail-per-group)
(nnmail-get-new-mail-1): Unbreak `group' option for `mail-sources'.
2015-10-19 Nicolas Petton <nicolas@petton.fr>
@ -11806,7 +11806,7 @@
Reduce face-related consing during frame creation.
* faces.el (face--attributes-unspecified): Compute the "unspecified"
* lisp/faces.el (face--attributes-unspecified): Compute the "unspecified"
attribute list once.
(face-spec-reset-face): Use it instead of building the list.
@ -13396,7 +13396,7 @@
Fixes bug#21365.
* dec/lispref/edebug.texi (Edebug Execution Modes): Change the
* doc/lispref/edebug.texi (Edebug Execution Modes): Change the
description of `edebug-initial-mode' from that of its implementation
to that of its visual effect and use. Move the paragraph higher up.
@ -14021,7 +14021,7 @@
2015-09-15 Jay Belanger <jay.p.belanger@gmail.com>
Add new functions for the root mean square of a (Calc) vector
* lisp/calc/calc-stats.el (calcFunc-rms, calc-vector-rms):
* lisp/calc/calc-stat.el (calcFunc-rms, calc-vector-rms):
New functions.
* lisp/calc/calc-ext.el (calc-init-extensions): Add keybinding for
`calc-vector-rms', add autoloads for `calc-vector-rms' and
@ -15831,7 +15831,7 @@
(mac_font_create_available_families, mac_font_shape):
Remove macros for renamed functions.
(mac_nsctfont_copy_font_descriptor): Remove unused macro.
* src/macterm.m (mac_font_descriptor_supports_languages):
* src/macfont.m (mac_font_descriptor_supports_languages):
Rename from mac_ctfont_descriptor_supports_languages.
(mac_font_create_preferred_family_for_attributes): Rename from
mac_ctfont_create_preferred_family_for_attributes.
@ -17878,7 +17878,7 @@
2015-08-14 Ronnie Schnell <ronnie@driver-aces.com>
* doc/emacs/misc.text (Amusements): Fixed typo.
* doc/emacs/misc.texi (Amusements): Fixed typo.
2015-08-14 Eli Zaretskii <eliz@gnu.org>
@ -18233,7 +18233,7 @@
* test/automated/ert-tests.el (ert-test-deftest): Add FIXME.
* org.el: Fix up some lexical scoping warnings, and use dolist
* lisp/org/org.el: Fix up some lexical scoping warnings, and use dolist
* lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map)
(org-set-regexps-and-options, org-assign-fast-keys)
(org-contextualize-keys, org-contextualize-validate-key)
@ -18299,7 +18299,7 @@
2015-08-07 Phillip Lord <phillip.lord@newcastle.ac.uk>
Improve error signalling for seq-subseq
* lisp/seq.el (seq-subseq): The existing behavior is to error
* lisp/emacs-lisp/seq.el (seq-subseq): The existing behavior is to error
when indexes are too large, but to silently ignore numbers which
are too negative for lists. String and vector handling errors in
both cases. This has been regularized. Error signaling behavior
@ -18336,8 +18336,8 @@
Add support for 'inhibit-same-window in 'display-buffer-use-some-frame'
* lisp/window.el (display-buffer-use-some-frame): Add support for
'inhibit-same-window in alist.
* doc/windows.texi (display-buffer-use-some-frame): Doc support for
'inhibit-same-window in alist.
* doc/lispref/windows.texi (display-buffer-use-some-frame):
Doc support for 'inhibit-same-window in alist.
2015-08-07 Eli Zaretskii <eliz@gnu.org>
@ -19111,7 +19111,7 @@
Check also for hits in `tramp-connection-properties'. Adapt docstring.
(tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
(all): Adapt `tramp-get-method-parameter' calls.
* lisp/net/trampver.el Update release number.
* lisp/net/trampver.el: Update release number.
* test/automated/tramp-tests.el (tramp--instrument-test-case):
Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
(tramp-test13-make-directory, tramp--test-adb-p)
@ -20905,7 +20905,7 @@
* lisp/emacs-lisp/package.el (package--with-work-buffer-async):
Fix error reporting.
* lisp/let-alist.el: Move to lisp/emacs-lisp/let-alist.el
* lisp/emacs-lisp/let-alist.el: Move to lisp/emacs-lisp/let-alist.el
* lisp/emacs-lisp/package.el: Revert buffer after any operation
Call `package-menu--post-refresh' after any operation that changes
@ -21371,7 +21371,7 @@
2015-06-11 Artur Malabarba <bruce.connor.am@gmail.com>
* lisp/let-alist.el (let-alist--deep-dot-search): Fix cons.
* lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search): Fix cons.
* test/automated/let-alist.el (let-alist-cons): Test it.
2015-06-11 Nicolas Richard <theonewiththeevillook@yahoo.fr>
@ -22112,10 +22112,10 @@
Throw an error when converting a map into an unknown map type
* lisp/emacs-lisp/map.el (map-into): Throw an error if type is
not valid.
* test/automated/map-test.el: Add a regression test.
* test/automated/map-tests.el: Add a regression test.
New library map.el similar to seq.el but for mapping data structures.
* test/automated/map-test.el: New file.
* test/automated/map-tests.el: New file.
* lisp/emacs-lisp/map.el: New file.
2015-05-30 Dmitry Gutov <dgutov@yandex.ru>
@ -27050,7 +27050,7 @@
2015-04-07 Alan Mackenzie <acm@muc.de>
Always mark "<" and ">" in #include directives with text properties.
* lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock
* lisp/progmodes/cc-fonts.el (c-cpp-matchers): Replace a font-lock
"anchored matcher" with an invocation of
c-make-font-lock-search-function to allow fontification when there's
no trailing space on an "#include <..>" line.

View file

@ -279,6 +279,9 @@ Changes to files matching one of the regexps in this list are not listed.")
"ChangeLog.nextstep" "Emacs.clr" "spec.txt"
"gfdl.1"
"texi/Makefile.in"
"lwlib/autodeps.mk"
"oldXMenu/autodeps.mk"
"src/autodeps.mk"
"Imakefile" "icons/sink.ico" "aixcc.lex"
"nxml/char-name/unicode"
"spec.txt"
@ -294,6 +297,7 @@ Changes to files matching one of the regexps in this list are not listed.")
"cedet/tests/test.cpp"
"cedet/tests/test.py"
"cedet/tests/teststruct.cpp"
"subdirs.el"
"*.el"
;; Autogen:
"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.")
"debian/scripts/startup.erc"
"debian/scripts/startup.erc-speak"
;; Used to be in admin, not very interesting.
"emacs-pretesters" "make-announcement" "make-changelog-diff"
"emacs-pretesters" "make-announcement" "make-changelog-diff" "admin/FOR-RELEASE" "etc/FOR-RELEASE" "nextstep/FOR-RELEASE" "FOR-RELEASE"
;; Textual comments that are not files.
"All" "Version" "Everywhere" "Many" "Various" "files"
;; Directories.
"vms" "mac" "url" "tree-widget"
"info/dir"
;; Not in gnulib anymore
"lib/qset-acl.c" "lib/qcopy-acl.c" "lib/file-has-acl.c"
;; files from old MS Windows build procedures
"makefile.w32-in"
"admin/unidata/makefile.w32-in"
"lib/makefile.w32-in"
"leim/makefile.w32-in"
"src/makefile.w32-in"
"nt/emacs-src.tags"
"doc/emacs/makefile.w32-in"
"doc/lispintro/makefile.w32-in"
"doc/lispref/makefile.w32-in"
"doc/misc/makefile.w32-in"
"nt/paths.h"
"paths.h"
"src/paths.h"
"envadd.bat"
"multi-install-info.bat"
"INSTALL.OLD"
"nt/src/paths.h"
"nmake.defs"
"gmake.defs"
"zipdist.bat"
"nt/makefile.w32-in"
"config.nt"
)
"List of files and directories to ignore.
Changes to files in this list are not listed.")
@ -762,6 +791,8 @@ in the repository.")
("DIFF" . "OTHER.EMACSES")
("CCADIFF" . "OTHER.EMACSES")
("GOSDIFF" . "OTHER.EMACSES")
;; Nextstep
("nextstep/Cocoa/Emacs.base/Contents/Info.plist" . "nextstep/templates/Info.plist.in")
;; Moved from lisp/tpu-doc.el to etc/tpu-edt.doc in Emacs 19.29.
;; Removed in Emacs 19.30, replaced by new file etc/edt-user.doc
;; (no associated ChangeLog entry).
@ -886,6 +917,8 @@ in the repository.")
("nt/README.W32" . "README.W32")
("notes/BRANCH" . "notes/repo")
("notes/bzr" . "notes/repo")
;; moved from lisp/ to lisp/net/
("lisp/pinentry.el" . "lisp/net/pinentry.el")
)
"Alist of files which have been renamed during their lifetime.
Elements are (OLDNAME . NEWNAME).")

View file

@ -246,8 +246,8 @@
* emacs-xtra.texi: ditto.
* emacs.texi: ditto.
* makefile.w32-in: ditto.
* msdog-xtra.texi: ditto, and rename file.
* msdog.texi: ditto, and rename file.
* msdos-xtra.texi: ditto, and rename file.
* msdos.texi: ditto, and rename file.
2014-07-21 Glenn Morris <rgm@gnu.org>

View file

@ -18,52 +18,21 @@
@include trampver.texi
@c Macro for formatting a file name according to the respective syntax.
@c xxx and yyy are auxiliary macros in order to omit leading and
@c Macro arguments should not have any leading or
@c trailing whitespace. Not very elegant, but I don't know it better.
@c There are subtle differences between texinfo 4.13 and 5.0. We must
@c declare two versions of the macro. This will be improved, hopefully.
@c Texinfo 5.0.
@ifset txicommandconditionals
@macro xxx {one}
@set \one\
@end macro
@macro yyy {one, two}
@xxx{x\one\}@c
@ifclear x
\one\@w{}\two\@c
@end ifclear
@clear x\one\
@end macro
@macro trampfn {method, user, host, localname}
@macro trampfn {method, userhost, localname}
@value{prefix}@c
@yyy{\method\,@value{postfixhop}}@c
@yyy{\user\,@@}@c
\host\@value{postfix}\localname\
@end macro
@end ifset
@c Texinfo 4.13.
@ifclear txicommandconditionals
@macro xxx {one}@c
@set \one\@c
\method\@value{postfixhop}@c
\userhost\@value{postfix}\localname\
@end macro
@macro yyy {one, two}@c
@xxx{x\one\}@c
@ifclear x@c
\one\@w{}\two\@c
@end ifclear
@clear x\one\@c
@end macro
@c Similar, but without a method prefix.
@macro trampfn {method, user, host, localname}@c
@value{prefix}@yyy{\method\,@value{postfixhop}}@yyy{\user\,@@}\host\@value{postfix}\localname\@c
@macro trampf {userhost, localname}
@value{prefix}@c
\userhost\@value{postfix}\localname\
@end macro
@end ifclear
@copying
Copyright @copyright{} 1999--2016 Free Software Foundation, Inc.
@ -469,7 +438,7 @@ In November 2012, added Juergen Hoetzel's @file{tramp-adb.el}.
@value{tramp} is initially configured to use the @command{scp} program
to connect to the remote host. Just type @kbd{C-x C-f} and then enter
file name @file{@trampfn{, user, host, /path/to.file}}. For details,
file name @file{@trampf{user@@host,/path/to.file}}. For details,
see @xref{Default Method}.
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
percent symbol, and domain is the windows domain name). An example:
@example
@trampfn{smb, daniel%BIZARRE, melancholia, /daniel$$/.emacs}
@trampfn{smb,daniel%BIZARRE@@melancholia,/daniel$$/.emacs}
@end example
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
UPPERCASE as shown here:
@example
@trampfn{smb, daniel%MELANCHOLIA, melancholia, /daniel$$/.emacs}
@trampfn{smb,daniel%MELANCHOLIA@@melancholia,/daniel$$/.emacs}
@end example
where user @code{daniel} connects as local user to the SMB host
@ -932,7 +901,7 @@ Emacs.
@value{tramp} does not require a host name part of the remote file
name when a single Android device is connected to @command{adb}.
@value{tramp} instead uses @file{@trampfn{adb, , ,}} as the default
@value{tramp} instead uses @file{@trampfn{adb,,}} as the default
name. @command{adb devices} shows available host names.
@option{adb} method normally does not need user name to authenticate
@ -974,7 +943,7 @@ D-Bus, dbus}.
This method is for connecting to remote hosts with the Apple Filing
Protocol for accessing files on Mac OS X volumes. @value{tramp} access
syntax requires a leading volume (share) name, for example:
@file{@trampfn{afp, user, host, /volume}}.
@file{@trampfn{afp,user@@host,/volume}}.
@item @option{dav}
@item @option{davs}
@ -1138,7 +1107,7 @@ access and it has the most reasonable security protocols, use
@file{/etc/motd} file on the otherhost:
@example
@kbd{C-x C-f @trampfn{ssh, root, otherhost,/etc/motd} @key{RET}}
@kbd{C-x C-f @trampfn{ssh,root@@otherhost,/etc/motd} @key{RET}}
@end example
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
the shortened syntax of @samp{root}:
@example
@kbd{C-x C-f @trampfn{su, , , /etc/motd} @key{RET}}
@kbd{C-x C-f @trampfn{su,,/etc/motd} @key{RET}}
@end example
For editing large files, @option{scp} is faster than @option{ssh}.
@ -1222,7 +1191,7 @@ and default host can be overridden as follows:
tramp-default-host "target")
@end lisp
With both defaults set, @samp{@trampfn{ssh, , ,}} will connect
With both defaults set, @samp{@trampfn{ssh,,}} will connect
@value{tramp} to John's home directory on target.
@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:
@lisp
(add-to-list 'tramp-default-proxies-alist
'("\\." nil "@trampfn{ssh, bird, bastion.your.domain,}"))
'("\\." nil "@trampfn{ssh,bird@@bastion.your.domain,}"))
(add-to-list 'tramp-default-proxies-alist
'("\\.your\\.domain\\'" nil nil))
@end lisp
@ -1291,7 +1260,7 @@ connect to @samp{bastion.your.domain}, then:
(add-to-list 'tramp-default-proxies-alist
'("\\`bastion\\.your\\.domain\\'"
"\\`bird\\'"
"@trampfn{ssh, , jump.your.domain,}"))
"@trampfn{ssh,jump.your.domain,}"))
@end lisp
@var{proxy} can take patterns @code{%h} or @code{%u} for @var{host} or
@ -1303,10 +1272,10 @@ access, then use this alist entry:
@lisp
(add-to-list 'tramp-default-proxies-alist
'("\\.your\\.domain\\'" "\\`root\\'" "@trampfn{ssh, , %h,}"))
'("\\.your\\.domain\\'" "\\`root\\'" "@trampfn{ssh,%h,}"))
@end lisp
Opening @file{@trampfn{sudo, , randomhost.your.domain,}} first
Opening @file{@trampfn{sudo,randomhost.your.domain,}} first
connects to @samp{randomhost.your.domain} via @code{ssh} under your
account name, and then perform @code{sudo -u root} on that host.
@ -1322,7 +1291,7 @@ local one, first connect via @command{ssh}, and then apply
@lisp
(add-to-list 'tramp-default-proxies-alist
'(nil "\\`root\\'" "@trampfn{ssh, , %h,}"))
'(nil "\\`root\\'" "@trampfn{ssh,%h,}"))
(add-to-list 'tramp-default-proxies-alist
'((regexp-quote (system-name)) nil nil))
@end lisp
@ -1346,7 +1315,7 @@ discussion of ethical issues.} Then the configuration is:
@lisp
(add-to-list 'tramp-default-proxies-alist
'("\\`host\\.other\\.domain\\'" nil
"@trampfn{tunnel, , proxy.your.domain#3128,}"))
"@trampfn{tunnel,proxy.your.domain#3128,}"))
@end lisp
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
information. For example, connecting to a host using @command{ssh} and
connecting to the same host through @code{sshd} on port 3001. Both
access methods result in nearly identical persistent specifications
@file{@trampfn{ssh, , localhost,}} and @file{@trampfn{ssh, ,
localhost#3001,}}.
@file{@trampfn{ssh,localhost,}} and @file{@trampfn{ssh,localhost#3001,}}.
Changing host names could avoid duplicates. One way is to add a
@option{Host} section in @file{~/.ssh/config} (@pxref{Frequently Asked
@ -1629,10 +1597,10 @@ remote shell:
@lisp
(add-to-list 'tramp-connection-properties
(list (regexp-quote "@trampfn{ssh, user, randomhost.your.domain,}")
(list (regexp-quote "@trampfn{ssh,user@@randomhost.your.domain,}")
"remote-shell" "/bin/ksh"))
(add-to-list 'tramp-connection-properties
(list (regexp-quote "@trampfn{ssh, user, randomhost.your.domain,}")
(list (regexp-quote "@trampfn{ssh,user@@randomhost.your.domain,}")
"remote-shell-login" '("-")))
@end lisp
@ -1648,7 +1616,7 @@ special property @samp{busybox}. For example:
@lisp
(add-to-list 'tramp-connection-properties
(list (regexp-quote "@trampfn{ssh, user, randomhost.your.domain,}")
(list (regexp-quote "@trampfn{ssh,user@@randomhost.your.domain,}")
"busybox" t))
@end lisp
@ -1949,8 +1917,8 @@ directory for temporary files:
@end lisp
@noindent
Open a remote connection with the command @kbd{C-x C-f @trampfn{ssh, ,
192.168.0.26#2222, }}, where @command{sshd} is listening on port
Open a remote connection with the command @kbd{C-x C-f
@trampfn{ssh,192.168.0.26#2222,}}, where @command{sshd} is listening on port
@samp{2222}.
To add a corresponding entry to the @file{~/.ssh/config} file
@ -1974,7 +1942,7 @@ the previous example, fix the connection properties as follows:
@noindent
Open a remote connection with a more concise command @kbd{C-x C-f
@trampfn{ssh, , android, }}.
@trampfn{ssh,android,}}.
@node Auto-save and Backup
@ -1992,7 +1960,7 @@ by default writes backup files to the same directory as the original
files unless changed to another location, such as
@file{~/.emacs.d/backups/}. Such a directory will also be used by
default by @value{tramp} when using, say, a restricted file
@file{@trampfn{su, root, localhost, /etc/secretfile}}. The backup
@file{@trampfn{su,root@@localhost,/etc/secretfile}}. The backup
file of the secretfile is now owned by the user logged in from tramp
and not root.
@ -2042,9 +2010,9 @@ Example:
@end lisp
@noindent
The backup file name of @file{@trampfn{su, root, localhost,
/etc/secretfile}} would be @file{@trampfn{su, root, localhost,
~/.emacs.d/backups/!su:root@@localhost:!etc!secretfile~}}
The backup file name of
@file{@trampfn{su,root@@localhost,/etc/secretfile}} would be
@file{@trampfn{su,root@@localhost,~/.emacs.d/backups/!su:root@@localhost:!etc!secretfile~}}.
Just as for backup files, similar issues of file naming affect
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
@cindex file name syntax
@cindex file name examples
@file{@trampfn{, , host, localfilename}}
@file{@trampf{host,localfilename}}
opens file @var{localfilename} on the remote host @var{host}, using
the default method. @xref{Default Method}.
@ -2169,21 +2137,21 @@ For the file @file{/etc/squid.conf} on the host @code{melancholia}.
@end table
@var{host} can take IPv4 or IPv6 address, as in @file{@trampfn{, ,
127.0.0.1, .emacs}} or @file{@trampfn{, ,
@value{ipv6prefix}::1@value{ipv6postfix}, .emacs}}. For syntactical
reasons, IPv6 addresses must be embedded in square brackets
@file{@value{ipv6prefix}} and @file{@value{ipv6postfix}}.
@var{host} can take IPv4 or IPv6 address, as in
@file{@trampf{127.0.0.1,.emacs}} or
@file{@trampf{@value{ipv6prefix}::1@value{ipv6postfix},.emacs}}.
For syntactical reasons, IPv6 addresses must be embedded in square
brackets @file{@value{ipv6prefix}} and @file{@value{ipv6postfix}}.
By default, @value{tramp} will use the current local user name as the
remote user name for log in to the remote host. Specifying a different
name using the proper syntax will override this default behavior:
@example
@trampfn{, user, host, path/to.file}
@trampf{user@@host,path/to.file}
@end example
@file{@trampfn{, daniel, melancholia, .emacs}} is for file
@file{@trampf{daniel@@melancholia,.emacs}} is for file
@file{.emacs} in @code{daniel}'s home directory on the host,
@code{melancholia}.
@ -2197,15 +2165,14 @@ change.
To connect to the host @code{melancholia} as @code{daniel}, using
@option{ssh} method for @file{.emacs} in @code{daniel}'s home
directory, the full specification is: @file{@trampfn{ssh, daniel,
melancholia, .emacs}}.
directory, the full specification is:
@file{@trampfn{ssh,daniel@@melancholia,.emacs}}.
A remote file name containing a host name, which is the same string as
a method name, is not allowed.
For specifying port numbers, affix @file{#<port>} to the host
name. For example: @file{@trampfn{ssh, daniel, melancholia#42,
.emacs}}.
name. For example: @file{@trampfn{ssh,daniel@@melancholia#42,.emacs}}.
@node File name completion
@ -2224,7 +2191,7 @@ For example, type @kbd{C-x C-f @value{prefix}t @key{TAB}},
@value{tramp} completion choices show up as
@example
@c @multitable {@trampfn{telnet, , melancholia.danann.net,}} {@trampfn{telnet, , 192.168.0.1,}}
@c @multitable {@trampfn{telnet,melancholia.danann.net,}} {@trampfn{telnet,192.168.0.1,}}
@multitable @columnfractions .5 .5
@item @value{prefixhop}telnet@value{postfixhop} @tab tmp/
@item @value{prefixhop}toto@value{postfix} @tab
@ -2244,10 +2211,11 @@ shows host names @value{tramp} from @file{/etc/hosts} file, for example.
@example
@multitable @columnfractions .5 .5
@c @multitable {@trampfn{telnet, , melancholia.danann.net,}} {@trampfn{telnet, , 192.168.0.1,}}
@item @trampfn{telnet, , 127.0.0.1,} @tab @trampfn{telnet, , 192.168.0.1,}
@item @trampfn{telnet, , @value{ipv6prefix}::1@value{ipv6postfix},} @tab @trampfn{telnet, , localhost,}
@item @trampfn{telnet, , melancholia.danann.net,} @tab @trampfn{telnet, , melancholia,}
@c @multitable {@trampfn{telnet,melancholia.danann.net,}} {@trampfn{telnet,192.168.0.1,}}
@item @trampfn{telnet,127.0.0.1,} @tab @trampfn{telnet,192.168.0.1,}
@c @item @trampfn{telnet,@value{ipv6prefix}::1@value{ipv6postfix},} @tab @trampfn{telnet,localhost,}
@item @value{prefix}telnet@value{postfixhop}@value{ipv6prefix}::1@value{ipv6postfix}@value{postfix} @tab @trampfn{telnet,localhost,}
@item @trampfn{telnet,melancholia.danann.net,} @tab @trampfn{telnet,melancholia,}
@end multitable
@end example
@ -2274,13 +2242,13 @@ stands for the default behavior.
Example:
@example
@kbd{C-x C-f @trampfn{telnet, , melancholia, /usr/local/bin//etc} @key{TAB}}
@print{} @trampfn{telnet, , melancholia, /etc}
@kbd{C-x C-f @trampfn{telnet,melancholia,/usr/local/bin//etc} @key{TAB}}
@print{} @trampfn{telnet,melancholia,/etc}
@kbd{C-x C-f @trampfn{telnet, , melancholia, //etc} @key{TAB}}
@kbd{C-x C-f @trampfn{telnet,melancholia,//etc} @key{TAB}}
@print{} /etc
@kbd{C-x C-f @trampfn{telnet, , melancholia, /usr/local/bin///etc} @key{TAB}}
@kbd{C-x C-f @trampfn{telnet,melancholia,/usr/local/bin///etc} @key{TAB}}
@print{} /etc
@end example
@ -2314,8 +2282,7 @@ remote host name and file name. For example, hopping over a single
proxy @samp{bird@@bastion} to a remote file on @samp{you@@remotehost}:
@example
@c @kbd{C-x C-f @trampfn{ssh@value{postfixhop}bird@@bastion|ssh, you,
@c remotehost, /path}}
@c @kbd{C-x C-f @trampfn{ssh@value{postfixhop}bird@@bastion|ssh,you,remotehost,/path}}
@kbd{C-x C-f @value{prefix}ssh@value{postfixhop}bird@@bastion|ssh@value{postfixhop}you@@remotehost@value{postfix}/path}
@end example
@ -2324,8 +2291,8 @@ Proxies can take patterns @code{%h} or @code{%u}.
@value{tramp} adds the ad-hoc definitions on the fly to
@code{tramp-default-proxies-alist} and is available for re-use during
that Emacs session. Subsequent @value{tramp} connections to the same
remote host can then use the shortcut form: @samp{@trampfn{ssh, you,
remotehost, /path}}.
remote host can then use the shortcut form:
@samp{@trampfn{ssh,you@@remotehost,/path}}.
@defopt tramp-save-ad-hoc-proxies
@vindex tramp-save-ad-hoc-proxies
@ -2478,7 +2445,7 @@ on remote hosts and displays output in buffers on the local
host. Example:
@example
@kbd{C-x C-f @trampfn{sudo, , , } @key{RET}}
@kbd{C-x C-f @trampfn{sudo,,} @key{RET}}
@kbd{M-! tail -f /var/log/syslog.log & @key{RET}}
@end example
@ -2498,14 +2465,14 @@ You must add the module @code{eshell-tramp} to
@kbd{M-x eshell} on a remote host:
@example
@b{~ $} cd @trampfn{sudo, , , /etc} @key{RET}
@b{@trampfn{sudo, root, host, /etc} $} hostname @key{RET}
@b{~ $} cd @trampfn{sudo,,/etc} @key{RET}
@b{@trampfn{sudo,root@@host,/etc} $} hostname @key{RET}
host
@b{@trampfn{sudo, root, host, /etc} $} id @key{RET}
@b{@trampfn{sudo,root@@host,/etc} $} id @key{RET}
uid=0(root) gid=0(root) groups=0(root)
@b{@trampfn{sudo, root, host, /etc} $} find-file shadow @key{RET}
@b{@trampfn{sudo,root@@host,/etc} $} find-file shadow @key{RET}
#<buffer shadow>
@b{@trampfn{sudo, root, host, /etc} $}
@b{@trampfn{sudo,root@@host,/etc} $}
@end example
@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
(@pxref{Multi-hops}):
@example
@b{~ $} cd @trampfn{ssh, user, remotehost, /etc} @key{RET}
@b{@trampfn{ssh, user, remotehost, /etc} $} find-file shadow @key{RET}
File is not readable: @trampfn{ssh, user, remotehost, /etc/shadow}
@b{@trampfn{ssh, user, remotehost, /etc} $} sudo find-file shadow @key{RET}
@b{~ $} cd @trampfn{ssh,user@@remotehost,/etc} @key{RET}
@b{@trampfn{ssh,user@@remotehost,/etc} $} find-file shadow @key{RET}
File is not readable: @trampfn{ssh,user@@remotehost,/etc/shadow}
@b{@trampfn{ssh,user@@remotehost,/etc} $} sudo find-file shadow @key{RET}
#<buffer shadow>
@b{@trampfn{ssh, user, remotehost, /etc} $} su - @key{RET}
@b{@trampfn{su, root, remotehost, /root} $} id @key{RET}
@b{@trampfn{ssh,user@@remotehost,/etc} $} su - @key{RET}
@b{@trampfn{su,root@@remotehost,/root} $} id @key{RET}
uid=0(root) gid=0(root) groups=0(root)
@b{@trampfn{su, root, remotehost, /root} $}
@b{@trampfn{su,root@@remotehost,/root} $}
@end example
@ -2543,11 +2510,11 @@ with a remote file name:
@example
@kbd{M-x gdb @key{RET}}
@b{Run gdb (like this):} gdb --annotate=3 @trampfn{ssh, , host, ~/myprog} @key{RET}
@b{Run gdb (like this):} gdb --annotate=3 @trampfn{ssh,host,~/myprog} @key{RET}
@end example
Relative file names are based on the remote default directory. When
@file{myprog.pl} exists in @file{@trampfn{ssh, , host, /home/user}},
@file{myprog.pl} exists in @file{@trampfn{ssh,host,/home/user}},
valid calls include:
@example
@ -2602,8 +2569,9 @@ To open @command{powershell} as a remote shell, use this:
This command flushes all connection related objects. @option{vec} is
the internal representation of a remote connection. When called
interactively, this command lists active remote connections in the
minibuffer. Each connection is of the format @file{@trampfn{method,
user, host, }}. Flushing remote connections also cleans the password
minibuffer. Each connection is of the format
@file{@trampfn{method,user@@host,}}. Flushing remote connections also
cleans the password
cache (@pxref{Password handling}), file cache, connection cache
(@pxref{Connection caching}), and connection buffers.
@end deffn
@ -3058,7 +3026,7 @@ HISTFILE=/dev/null
How to shorten long file names when typing in @value{tramp}?
Adapt several of these approaches to reduce typing. If the full name
is @file{@trampfn{ssh, news, news.my.domain, /opt/news/etc}}, then:
is @file{@trampfn{ssh,news@@news.my.domain,/opt/news/etc}}, then:
@enumerate
@ -3073,11 +3041,11 @@ You can define default methods and user names for hosts,
tramp-default-user "news")
@end lisp
The reduced typing: @kbd{C-x C-f @trampfn{, , news.my.domain, /opt/news/etc}}.
The reduced typing: @kbd{C-x C-f @trampf{news.my.domain,/opt/news/etc}}.
@strong{Note} that there are some useful shortcuts already. Accessing
your local host as @samp{root} user, is possible just by @kbd{C-x C-f
@trampfn{su, , ,}}.
@trampfn{su,,}}.
@item
Use configuration options of the access method:
@ -3092,7 +3060,7 @@ Host xy
User news
@end example
The reduced typing: @kbd{C-x C-f @trampfn{ssh, , xy, /opt/news/etc}}.
The reduced typing: @kbd{C-x C-f @trampfn{ssh,xy,/opt/news/etc}}.
Depending on the number of files in the directories, host names
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
inside Emacs with Lisp:
@lisp
(setenv "xy" "@trampfn{ssh, news, news.my.domain, /opt/news/etc/}")
(setenv "xy" "@trampfn{ssh,news@@news.my.domain,/opt/news/etc/}")
@end lisp
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}:
(find-file
(read-file-name
"Find Tramp file: "
"@trampfn{ssh, news, news.my.domain, /opt/news/etc/}"))))
"@trampfn{ssh,news@@news.my.domain,/opt/news/etc/}"))))
@end lisp
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:
@lisp
(add-to-list
'directory-abbrev-alist
'("^/xy" . "@trampfn{ssh, news, news.my.domain, /opt/news/etc/}"))
'("^/xy" . "@trampfn{ssh,news@@news.my.domain,/opt/news/etc/}"))
@end lisp
The reduced typing: @kbd{C-x C-f /xy @key{RET}}.
@ -3161,7 +3129,7 @@ minibuffer:
@lisp
(define-abbrev-table 'my-tramp-abbrev-table
'(("xy" "@trampfn{ssh, news, news.my.domain, /opt/news/etc/}")))
'(("xy" "@trampfn{ssh,news@@news.my.domain,/opt/news/etc/}")))
(add-hook
'minibuffer-setup-hook
@ -3221,7 +3189,7 @@ directory to the cache:
@lisp
(eval-after-load "filecache"
'(file-cache-add-directory
"@trampfn{ssh, news, news.my.domain, /opt/news/etc/}"))
"@trampfn{ssh,news@@news.my.domain,/opt/news/etc/}"))
@end lisp
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?
When saving ad-hoc multi-hop @value{tramp} file names (@pxref{Ad-hoc
multi-hops}) via bookmarks, recent files, filecache, bbdb, or another
package, use the full ad-hoc file name including all hops, like
@file{@trampfn{ssh, bird, bastion|ssh@value{postfixhop}news.my.domain,
/opt/news/etc}}.
@file{@trampfn{ssh,bird@@bastion|ssh@value{postfixhop}news.my.domain,/opt/news/etc}}.
Alternatively, when saving abbreviated multi-hop file names
@file{@trampfn{ssh, news, news.my.domain, /opt/news/etc}}, the custom
@file{@trampfn{ssh,news@@news.my.domain,/opt/news/etc}}, the custom
option @code{tramp-save-ad-hoc-proxies} must be set non-@code{nil}
value.
@ -3302,7 +3269,7 @@ location.
Then start Emacs Client from the command line:
@example
emacsclient @trampfn{ssh, user, host, /file/to/edit}
emacsclient @trampfn{ssh,user@@host,/file/to/edit}
@end example
@code{user} and @code{host} refer to the local host.
@ -3312,7 +3279,7 @@ script @file{emacsclient.sh}:
@example
#!/bin/sh
emacsclient @trampfn{ssh, $(whoami), $(hostname --fqdn), $1}
emacsclient @trampfn{ssh,$(whoami)@@$(hostname --fqdn),$1}
@end example
Then change the environment variable @env{EDITOR} to point to the

View file

@ -486,6 +486,9 @@ specified message types for the respective specified targets.
*** New variable `erc-default-port-tls' used to connect to TLS IRC
servers.
---
*** Reconnection is now asynchronous.
** Midnight-mode
---
@ -1185,6 +1188,9 @@ make the new option `eshell-destroy-buffer-when-process-dies' non-nil.
** Browse-url
---
*** Support for the Google Chrome web browser.
---
*** Support for the Conkeror web browser.

View file

@ -3951,7 +3951,8 @@
2014-12-22 Artur Malabarba <bruce.connor.am@gmail.com>
* let-alist.el (let-alist): Use `make-symbol' instead of `gensym'.
* emacs-lisp/let-alist.el (let-alist): Use `make-symbol'
instead of `gensym'.
2014-12-20 Michael Albinus <michael.albinus@gmx.de>
@ -3963,7 +3964,7 @@
2014-12-19 Artur Malabarba <bruce.connor.am@gmail.com>
* let-alist.el (let-alist): Enable access to deeper alists by
* emacs-lisp/let-alist.el (let-alist): Enable access to deeper alists by
using dots inside the dotted symbols.
2014-12-19 Alan Mackenzie <acm@muc.de>
@ -4005,7 +4006,7 @@
2014-12-18 Artur Malabarba <bruce.connor.am@gmail.com>
* let-alist.el (let-alist): Evaluate the `alist' argument only once.
* emacs-lisp/let-alist.el (let-alist): Evaluate the `alist' argument only once.
2014-12-18 Sam Steingold <sds@gnu.org>
@ -4141,7 +4142,7 @@
2014-12-14 Artur Malabarba <bruce.connor.am@gmail.com>
* let-alist.el: Add lexical binding.
* emacs-lisp/let-alist.el: Add lexical binding.
2014-12-14 Steve Purcell <steve@sanityinc.com> (tiny change)
@ -4273,7 +4274,7 @@
2014-12-10 Artur Malabarba <bruce.connor.am@gmail.com>
* let-alist.el: Add new package and macro.
* emacs-lisp/let-alist.el: Add new package and macro.
2014-12-10 Eric S. Raymond <esr@snark.thyrsus.com>

View file

@ -36,6 +36,7 @@
;; Function Browser Earliest version
;; browse-url-mozilla Mozilla Don't know
;; browse-url-firefox Firefox Don't know (tried with 1.0.1)
;; browse-url-chrome Chrome 47.0.2526.111
;; browse-url-chromium Chromium 3.0
;; browse-url-epiphany Epiphany Don't know
;; browse-url-conkeror Conkeror Don't know
@ -147,6 +148,7 @@ regexp should probably be \".\" to specify a default browser."
(function-item :tag "eww" :value eww-browse-url)
(function-item :tag "Mozilla" :value browse-url-mozilla)
(function-item :tag "Firefox" :value browse-url-firefox)
(function-item :tag "Google Chrome" :value browse-url-chrome)
(function-item :tag "Chromium" :value browse-url-chromium)
(function-item :tag "Epiphany" :value browse-url-epiphany)
(function-item :tag "Conkeror" :value browse-url-conkeror)
@ -259,6 +261,22 @@ Defaults to the value of `browse-url-firefox-arguments' at the time
(make-obsolete-variable 'browse-url-firefox-startup-arguments
"it no longer has any effect." "24.5")
(defcustom browse-url-chrome-program
(let ((candidates '("google-chrome-stable" "google-chrome")))
(while (and candidates (not (executable-find (car candidates))))
(setq candidates (cdr candidates)))
(or (car candidates) "chromium"))
"The name by which to invoke Chromium."
:type 'string
:version "24.1"
:group 'browse-url)
(defcustom browse-url-chrome-arguments nil
"A list of strings to pass to Google Chrome as arguments."
:type '(repeat (string :tag "Argument"))
:version "24.1"
:group 'browse-url)
(defcustom browse-url-chromium-program
(let ((candidates '("chromium" "chromium-browser")))
(while (and candidates (not (executable-find (car candidates))))
@ -902,6 +920,7 @@ instead of `browse-url-new-window-flag'."
((browse-url-can-use-xdg-open) 'browse-url-xdg-open)
;;; ((executable-find browse-url-gnome-moz-program) 'browse-url-gnome-moz)
((executable-find browse-url-mozilla-program) 'browse-url-mozilla)
((executable-find browse-url-chrome-program) 'browse-url-chrome)
((executable-find browse-url-firefox-program) 'browse-url-firefox)
((executable-find browse-url-chromium-program) 'browse-url-chromium)
;;; ((executable-find browse-url-galeon-program) 'browse-url-galeon)
@ -1126,6 +1145,22 @@ The optional argument NEW-WINDOW is not used."
browse-url-chromium-arguments
(list url)))))
(defun browse-url-chrome (url &optional _new-window)
"Ask the Google Chrome WWW browser to load URL.
Default to the URL around or before point. The strings in
variable `browse-url-chrome-arguments' are also passed to
Google Chrome.
The optional argument NEW-WINDOW is not used."
(interactive (browse-url-interactive-arg "URL: "))
(setq url (browse-url-encode-url url))
(let* ((process-environment (browse-url-process-environment)))
(apply 'start-process
(concat "google-chrome " url) nil
browse-url-chrome-program
(append
browse-url-chrome-arguments
(list url)))))
;;;###autoload
(defun browse-url-galeon (url &optional new-window)
"Ask the Galeon WWW browser to load URL.

View file

@ -323,8 +323,9 @@ Currently this means either text/html or application/xhtml+xml."
(let* ((headers (eww-parse-headers))
(content-type
(mail-header-parse-content-type
(or (cdr (assoc "content-type" headers))
"text/plain")))
(if (zerop (length (cdr (assoc "content-type" headers))))
"text/plain"
(cdr (assoc "content-type" headers)))))
(charset (intern
(downcase
(or (cdr (assq 'charset (cdr content-type)))