diff options
author | Vincent Belaïche <vincentb1@users.sourceforge.net> | 2016-07-28 18:12:50 +0200 |
---|---|---|
committer | Vincent Belaïche <vincentb1@users.sourceforge.net> | 2016-07-28 18:12:50 +0200 |
commit | 90ab699c4f281d0c9a9b71f3eb4c8493d00fcf4f (patch) | |
tree | df3235d89ee8e4d32571b8a8521f75f7576913c2 /doc/misc | |
parent | 41b28dea8587c13b0bc59c1ec70b65afab3aeeca (diff) | |
parent | ec359399a47f852b4d022a30245449438e349193 (diff) |
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Diffstat (limited to 'doc/misc')
-rw-r--r-- | doc/misc/cc-mode.texi | 6 | ||||
-rw-r--r-- | doc/misc/cl.texi | 7 | ||||
-rw-r--r-- | doc/misc/gnus.texi | 96 | ||||
-rw-r--r-- | doc/misc/message.texi | 17 | ||||
-rw-r--r-- | doc/misc/texinfo.tex | 120 | ||||
-rw-r--r-- | doc/misc/tramp.texi | 45 | ||||
-rw-r--r-- | doc/misc/trampver.texi | 2 |
7 files changed, 227 insertions, 66 deletions
diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi index 82f8cbc2e3..f311ec8a3a 100644 --- a/doc/misc/cc-mode.texi +++ b/doc/misc/cc-mode.texi @@ -6727,9 +6727,11 @@ Macros which needn't (or mustn't) be followed by a semicolon when you invoke them, @dfn{macros with semicolons}, are very common. These can cause @ccmode{} to parse the next line wrongly as a @code{statement-cont} (@pxref{Function Symbols}) and thus mis-indent -it. +it. At the top level, a macro invocation before a defun start can +cause, for example, @code{c-beginning-of-defun} (@kbd{C-M-a}) not to +find the correct start of the current function. -You can prevent this by specifying which macros have semicolons. It +You can prevent these by specifying which macros have semicolons. It doesn't matter whether or not such a macro has a parameter list: @defopt c-macro-names-with-semicolon diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi index 4137a95b3b..c62fa727c1 100644 --- a/doc/misc/cl.texi +++ b/doc/misc/cl.texi @@ -148,6 +148,11 @@ the beginning: You may wish to add such a statement to your init file, if you make frequent use of features from this package. +Code that only uses macros from this package can enclose the above in +@code{eval-when-compile}. Internally, this library is divided into +several files, @pxref{Organization}. Your code should only ever load +the main @file{cl-lib} file, which will load the others as needed. + @node Organization @section Organization @@ -3364,7 +3369,7 @@ was @code{nil} for all elements. @defun cl-notevery predicate seq &rest more-seqs This function calls @var{predicate} on each element of the sequence(s) in turn; it returns a non-@code{nil} value as soon as @var{predicate} -returns @code{nil} for any element, or @code{t} if the predicate was +returns @code{nil} for any element, or @code{nil} if the predicate was true for all elements. @end defun diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index df673fc099..2473d26cc1 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -828,6 +828,7 @@ Various * Thwarting Email Spam:: Simple ways to avoid unsolicited commercial email. * Spam Package:: A package for filtering and processing spam. * The Gnus Registry:: A package for tracking messages by Message-ID. +* The Gnus Cloud:: A package for synchronizing Gnus marks. * Other modes:: Interaction with other modes. * Various Various:: Things that are really various. @@ -22208,6 +22209,7 @@ to you, using @kbd{G b u} and updating the group will usually fix this. * Thwarting Email Spam:: Simple ways to avoid unsolicited commercial email. * Spam Package:: A package for filtering and processing spam. * The Gnus Registry:: A package for tracking messages by Message-ID. +* The Gnus Cloud:: A package for synchronizing Gnus marks. * Other modes:: Interaction with other modes. * Various Various:: Things that are really various. @end menu @@ -26166,6 +26168,100 @@ default this is just @code{(marks)} so the custom registry marks are precious. @end defvar +@node The Gnus Cloud +@section The Gnus Cloud +@cindex cloud +@cindex gnus-cloud +@cindex synchronization +@cindex sync +@cindex synch + +The Gnus Cloud is a way to synchronize marks and general files and +data across multiple machines. + +Very often, you want all your marks (what articles you've read, which +ones were important, and so on) to be synchronized between several +machines. With IMAP, that's built into the protocol, so you can read +nnimap groups from many machines and they are automatically +synchronized. But NNTP, nnrss, and many other backends do not store +marks, so you have to do it locally. + +The Gnus Cloud package stores the marks, plus any files you choose, on +an IMAP server in a special folder. It's like a +DropTorrentSyncBoxOakTree(TM). + +@menu +* Gnus Cloud Setup:: +* Gnus Cloud Usage:: +@end menu + +@node Gnus Cloud Setup +@subsection Gnus Cloud Setup + +Setting up the Gnus Cloud takes less than a minute. From the Group +buffer: + +Press @kbd{^} to go to the Server buffer. Here you'll see all the +servers that Gnus knows. @xref{Server Buffer}. + +Then press @kbd{i} to mark any servers as cloud-synchronized (their marks are synchronized). + +Then press @kbd{I} to mark a single server as the cloud host (it must +be an IMAP server, and will host a special IMAP folder with all the +synchronization data). This will set the variable +@code{gnus-cloud-method} (using the Customize facilities), then ask +you to optionally upload your first CloudSynchronizationDataPack(TM). + +@node Gnus Cloud Usage +@subsection Gnus Cloud Usage + +After setting up, you can use these shortcuts from the Group buffer: + +@table @kbd +@item ~ RET +@item ~ d +@findex gnus-cloud-download-all-data +@cindex cloud, download +Download the latest Gnus Cloud data. + +@item ~ u +@item ~ ~ +@findex gnus-cloud-upload-all-data +@cindex cloud, download +Upload the local Gnus Cloud data. Creates a new +CloudSynchronizationDataPack(TM). + +@end table + +But wait, there's more. Of course there's more. So much more. You can +customize all of the following. + +@defvar gnus-cloud-synced-files +These are the files that will be part of every +CloudSynchronizationDataPack(TM). They are included in every upload, +so don't synchronize a lot of large files. Files under 100Kb are best. +@end defvar + +@defvar gnus-cloud-storage-method +This is a choice from several storage methods. It's highly recommended +to use the EPG facilities. It will be automatic if have GnuPG +installed and EPG loaded. Otherwise, you could use Base64+gzip, +Base64, or no encoding. +@end defvar + +@defvar gnus-cloud-interactive +When this is set, and by default it is, the Gnus Cloud package will +ask you for confirmation here and there. Leave it on until you're +comfortable with the package. +@end defvar + + +@defvar gnus-cloud-method +The name of the IMAP server to store the +CloudSynchronizationDataPack(TM)s. It's easiest to set this from the +Server buffer (@pxref{Gnus Cloud Setup}). +@end defvar + @node Other modes @section Interaction with other modes diff --git a/doc/misc/message.texi b/doc/misc/message.texi index fa4fa4398b..048990d53a 100644 --- a/doc/misc/message.texi +++ b/doc/misc/message.texi @@ -67,7 +67,6 @@ Message mode buffers. * Interface:: Setting up message buffers. * Commands:: Commands you can execute in message mode buffers. * Variables:: Customizing the message buffers. -* Compatibility:: Making Message backwards compatible. * Appendices:: More technical things. * GNU Free Documentation License:: The license for this documentation. * Index:: Variable, function and concept index. @@ -2587,22 +2586,6 @@ An @dfn{action} can be either: a normal function, or a list where the a form to be @code{eval}ed. -@node Compatibility -@chapter Compatibility -@cindex compatibility - -Message uses virtually only its own variables---older @code{mail-} -variables aren't consulted. To force Message to take those variables -into account, you can put the following in your @file{.emacs} file: - -@lisp -(require 'messcompat) -@end lisp - -This will initialize many Message variables from the values in the -corresponding mail variables. - - @node Appendices @chapter Appendices diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex index 85846f4da4..daa7055bbb 100644 --- a/doc/misc/texinfo.tex +++ b/doc/misc/texinfo.tex @@ -3,7 +3,7 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2016-05-28.16} +\def\texinfoversion{2016-06-18.21} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, @@ -1192,6 +1192,7 @@ where each line of input produces a line of output.} \ifx\pdfescapestring\thisisundefined % No primitive available; should we give a warning or log? % Many times it won't matter. + \xdef#1{#1}% \else % The expandable \pdfescapestring primitive escapes parentheses, % backslashes, and other special chars. @@ -1311,8 +1312,10 @@ output) for that.)} % We have to set dummies so commands such as @code, and characters % such as \, aren't expanded when present in a section title. \indexnofonts - \turnoffactive \makevalueexpandable + \turnoffactive + % Use ASCII approximations in destination names. + \passthroughcharsfalse \def\pdfdestname{#1}% \txiescapepdf\pdfdestname \safewhatsit{\pdfdest name{\pdfdestname} xyz}% @@ -1357,8 +1360,21 @@ output) for that.)} \fi % % Also escape PDF chars in the display string. - \edef\pdfoutlinetext{#1}% - \txiescapepdf\pdfoutlinetext + \bgroup + \ifx \declaredencoding \latone + % The PDF format can use an extended form of Latin-1 in bookmark + % strings. See Appendix D of the PDF Reference, Sixth Edition, for + % the "PDFDocEncoding". + \passthroughcharstrue + \fi + \ifx \declaredencoding \utfeight + % TODO: the PDF format can use UTF-16 in bookmark strings, but the + % code for this isn't done yet. + \fi + \globaldefs=1 + \edef\pdfoutlinetext{#1}% + \txiescapepdf\pdfoutlinetext + \egroup % \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}% } @@ -5948,18 +5964,32 @@ end \global\advance\dimen@ by 1pt \repeat }% - \multiply\dimen@ii by 4 - \divide\dimen@ii by 5 - \ifdim\ht3<\dimen@ii - % Column heights are too different, so don't make their bottoms - % flush with each other. The glue at the end of the second column - % allows a second column to stretch, reducing the difference in - % height between the two. - \setbox0=\vbox to\dimen@{\unvbox1\vfill}% - \setbox2=\vbox to\dimen@{\unvbox3\vskip 0pt plus 0.3\ht0}% + \ifdim2\ht1>\vsize + % The left column has come out longer than the page itself. (Note + % that we have doubled \vsize for the double columns, so + % the actual height of the page is 0.5\vsize). Just split the last + % of the double column material roughly in half. + \setbox2=\box0 + \setbox0 = \vsplit2 to \dimen@ii + \setbox0=\vbox to\dimen@ii{\unvbox0}% + \setbox2=\vbox to\dimen@ii{\unvbox2}% \else - \setbox0=\vbox to\dimen@{\unvbox1}% - \setbox2=\vbox to\dimen@{\unvbox3}% + \multiply\dimen@ii by 5 + \divide\dimen@ii by 4 + \global\setbox3 = \copy0 + \global\setbox1 = \vsplit3 to \dimen@ii + \global\setbox\balancedcolumns=\vbox{\pagesofar}% + \ifdim\ht3<\dimen@ii + % Column heights are too different, so don't make their bottoms + % flush with each other. The glue at the end of the second column + % allows a second column to stretch, reducing the difference in + % height between the two. + \setbox0=\vbox to\dimen@{\unvbox1\vfill}% + \setbox2=\vbox to\dimen@{\unvbox3\vskip 0pt plus 0.3\ht0}% + \else + \setbox0=\vbox to\dimen@{\unvbox1}% + \setbox2=\vbox to\dimen@{\unvbox3}% + \fi \fi \fi % @@ -10250,7 +10280,7 @@ directory should work if nowhere else does.} \countUTFx = "80 \countUTFy = "C2 \def\UTFviiiTmp{% - \gdef~{ + \gdef~{% \ifpassthroughchars $\fi}}% \UTFviiiLoop @@ -10301,6 +10331,15 @@ directory should work if nowhere else does.} \fi } +% These macros are used here to construct the name of a control +% sequence to be defined. +\def\UTFviiiTwoOctetsName#1#2{% + \csname u8:#1\string #2\endcsname}% +\def\UTFviiiThreeOctetsName#1#2#3{% + \csname u8:#1\string #2\string #3\endcsname}% +\def\UTFviiiFourOctetsName#1#2#3#4{% + \csname u8:#1\string #2\string #3\string #4\endcsname}% + % For UTF-8 byte sequence (TeX, e-TeX and pdfTeX) % Definition macro to replace the Unicode character % Definition macro that is used by @U command @@ -10317,17 +10356,18 @@ directory should work if nowhere else does.} \countUTFz = "#1\relax \begingroup \parseXMLCharref + + % Give \u8:... its definition. The sequence of seven \expandafter's + % expands after the \gdef three times, e.g. + % + % 1. \UTFviiTwoOctetsName B1 B2 + % 2. \csname u8:B1 \string B2 \endcsname + % 3. \u8: B1 B2 (a single control sequence token) % - % Access definitions of characters given UTF-8 sequences - \def\UTFviiiTwoOctets##1##2{% - \csname u8:##1\string ##2\endcsname}% - \def\UTFviiiThreeOctets##1##2##3{% - \csname u8:##1\string ##2\string ##3\endcsname}% - \def\UTFviiiFourOctets##1##2##3##4{% - \csname u8:##1\string ##2\string ##3\string ##4\endcsname}% - \expandafter\expandafter\expandafter\expandafter - \expandafter\expandafter\expandafter - \gdef\UTFviiiTmp{#2}% + \expandafter\expandafter + \expandafter\expandafter + \expandafter\expandafter + \expandafter\gdef \UTFviiiTmp{#2}% % \expandafter\ifx\csname uni:#1\endcsname \relax \else \message{Internal error, already defined: #1}% @@ -10337,37 +10377,53 @@ directory should work if nowhere else does.} \expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp \endgroup} % - % Given the value in \countUTFz as a Unicode code point, set \UTFviiiTmp. + % Given the value in \countUTFz as a Unicode code point, set \UTFviiiTmp + % to the corresponding UTF-8 sequence. \gdef\parseXMLCharref{% \ifnum\countUTFz < "A0\relax \errhelp = \EMsimple \errmessage{Cannot define Unicode char value < 00A0}% \else\ifnum\countUTFz < "800\relax \parseUTFviiiA,% - \parseUTFviiiB C\UTFviiiTwoOctets.,% + \parseUTFviiiB C\UTFviiiTwoOctetsName.,% \else\ifnum\countUTFz < "10000\relax \parseUTFviiiA;% \parseUTFviiiA,% - \parseUTFviiiB E\UTFviiiThreeOctets.{,;}% + \parseUTFviiiB E\UTFviiiThreeOctetsName.{,;}% \else \parseUTFviiiA;% \parseUTFviiiA,% \parseUTFviiiA!% - \parseUTFviiiB F\UTFviiiFourOctets.{!,;}% + \parseUTFviiiB F\UTFviiiFourOctetsName.{!,;}% \fi\fi\fi } + % Extract a byte from the end of the UTF-8 representation of \countUTFx. + % It must be a non-initial byte in the sequence. + % Change \uccode of #1 for it to be used in \parseUTFviiiB as one + % of the bytes. \gdef\parseUTFviiiA#1{% \countUTFx = \countUTFz \divide\countUTFz by 64 - \countUTFy = \countUTFz + \countUTFy = \countUTFz % Save to be the future value of \countUTFz. \multiply\countUTFz by 64 + + % \countUTFz is now \countUTFx with the last 5 bits cleared. Subtract + % in order to get the last five bits. \advance\countUTFx by -\countUTFz + + % Convert this to the byte in the UTF-8 sequence. \advance\countUTFx by 128 \uccode `#1\countUTFx \countUTFz = \countUTFy} - % Used to set \UTFviiiTmp to a UTF-8 byte sequence + % Used to put a UTF-8 byte sequence into \UTFviiiTmp + % #1 is the increment for \countUTFz to yield a the first byte of the UTF-8 + % sequence. + % #2 is one of the \UTFviii*OctetsName macros. + % #3 is always a full stop (.) + % #4 is a template for the other bytes in the sequence. The values for these + % bytes is substituted in here with \uppercase using the \uccode's. \gdef\parseUTFviiiB#1#2#3#4{% \advance\countUTFz by "#10\relax \uccode `#3\countUTFz diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index 894ccbe9c9..e8c181b229 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi @@ -565,7 +565,7 @@ remote host. @command{ssh} can also take extra parameters as port numbers. For example, a host on port 42 is specified as @file{host#42} (the real host name, a hash sign, then a port number). It is the same as passing -@code{-p 42} to the @command{ssh} command. +@samp{-p 42} to the @command{ssh} command. @item @option{telnet} @cindex method telnet @@ -832,7 +832,7 @@ Since SMB shares end in the @code{$} character, @value{tramp} must use substitutions. When @value{tramp} is not specific about the share name or uses the -generic remote directory @code{/}, @command{smbclient} returns all +generic remote directory @file{/}, @command{smbclient} returns all available shares. Since SMB authentication is based on each SMB share, @value{tramp} @@ -957,6 +957,22 @@ syntax requires a leading volume (share) name, for example: based on standard protocols, such as HTTP@. @option{davs} does the same but with SSL encryption. Both methods support the port numbers. +@item @option{gdrive} +@cindex method gdrive +@cindex gdrive method +@cindex Google Drive + +Via the @option{gdrive} method it is possible to access your Google +Drive online storage. User and host name of the remote file name are +your email address of the Google Drive credentials, like +@file{@trampfn{gdrive,john.doe@@gmail.com,/}}. These credentials must +be populated in your @command{Online Accounts} application outside Emacs. + +Since Google Drive uses cryptic blob file names internally, +@value{tramp} works with the @code{display-name} of the files. This +could produce unexpected behaviour in case two files in the same +directory have the same @code{display-name}, such a situation must be avoided. + @item @option{obex} @cindex method obex @cindex obex method @@ -986,8 +1002,8 @@ requires the SYNCE-GVFS plugin. @vindex tramp-gvfs-methods This custom option is a list of external methods for GVFS@. By default, this list includes @option{afp}, @option{dav}, @option{davs}, -@option{obex}, @option{sftp} and @option{synce}. Other methods to -include are: @option{ftp} and @option{smb}. +@option{gdrive}, @option{obex}, @option{sftp} and @option{synce}. +Other methods to include are: @option{ftp} and @option{smb}. @end defopt @@ -1650,13 +1666,16 @@ shown below for @value{tramp} to use when connecting. Another way to find the remote path is to use the path assigned to the remote user by the remote host. @value{tramp} does not normally retain -this remote path after logging. However, @code{tramp-own-remote-path} +this remote path after login. However, @code{tramp-own-remote-path} preserves the path value, which can be used to update @code{tramp-remote-path}. @lisp (add-to-list 'tramp-remote-path 'tramp-own-remote-path) @end lisp + +@strong{Note} that this works only if your remote @command{/bin/sh} +shell supports the login argument @samp{-l}. @end defopt When remote search paths are changed, local @value{tramp} caches must @@ -1848,7 +1867,7 @@ install and execute a listener as follows (see @code{tramp-methods}): @end example The above command-line syntax has changed with @command{busybox} -versions. If @command{nc} refuses the @command{-p} parameter, then +versions. If @command{nc} refuses the @samp{-p} parameter, then overwrite as follows: @lisp @@ -1876,9 +1895,9 @@ Applications such as @code{SSHDroid} that run @command{sshd} process on the Android device can accept any @option{ssh}-based methods provided these settings are adjusted: -@code{sh} must be specified for remote shell since Android devices do -not provide @code{/bin/sh}. @code{sh} will then invoke whatever shell is -installed on the device with this setting: +@command{sh} must be specified for remote shell since Android devices +do not provide @command{/bin/sh}. @command{sh} will then invoke +whatever shell is installed on the device with this setting: @lisp (add-to-list 'tramp-connection-properties @@ -2854,9 +2873,9 @@ To test if this is the case, open a remote shell and check if the output of @command{ls} is in color. To disable @acronym{ANSI} escape sequences from the remote hosts, -disable @option{--color=yes} or @option{--color=auto} in the remote -host's @file{.bashrc} or @file{.profile}. Turn this alias on and off -to see if file name completion works. +disable @samp{--color=yes} or @samp{--color=auto} in the remote host's +@file{.bashrc} or @file{.profile}. Turn this alias on and off to see +if file name completion works. @item File name completion does not work in directories with large number of @@ -2869,7 +2888,7 @@ shell's limit on length of command lines and hang. @value{tramp} uses globbing. To test if globbing hangs, open a shell on the remote host and then -run @samp{ls -d * ..?* > /dev/null}. +run @command{ls -d * ..?* > /dev/null}. When testing, ensure the remote shell is the same shell (@command{/bin/sh}, @command{ksh} or @command{bash}), that diff --git a/doc/misc/trampver.texi b/doc/misc/trampver.texi index cdd008bc86..3101dc0de8 100644 --- a/doc/misc/trampver.texi +++ b/doc/misc/trampver.texi @@ -8,7 +8,7 @@ @c In the Tramp GIT, the version number is auto-frobbed from @c configure.ac, so you should edit that file and run @c "autoconf && ./configure" to change the version number. -@set trampver 2.3.0-pre +@set trampver 2.3.1-pre @c Other flags from configuration @set instprefix /usr/local |