Merge from origin/emacs-26
c787a49
(origin/emacs-26) * lisp/vc/vc-git.el (vc-git-print-log): Res...b654791
* doc/emacs/misc.texi (Interactive Shell): Refer to node "Min...f1102d2
Yet another round of fixing the Emacs manual76b5a68
* etc/NEWS: Expunge the solecism "allow(s)" + infinitiveb4ff8cc
Two minor fixes in Antinewsaafcd12
* etc/NEWS: Rename image-dired-thumb-job-limita893924
* lisp/simple.el (async-shell-command, shell-command): Fix gr...699081f
Fix deferred display of async shell-command buffersd2d5e54
Mention remote file name completion in Emacs manualf589f5a
Yest another round of manual copyedits1ed4089
Update xdisp.c commentarye23de39
Fix Bug#30324e1a9dc0
Recognize Org as builtin package (bug#30310) Conflicts: etc/NEWS
This commit is contained in:
commit
a0c7157a16
19 changed files with 181 additions and 101 deletions
|
@ -90,12 +90,12 @@ You can no longer disable attempts of recovery from fatal exceptions
|
|||
such as C stack overflows and fatal signals. Since the recovery
|
||||
included in Emacs is reliable enough, we decided there was no reason
|
||||
to put your edits in danger of becoming lost when these situations
|
||||
happen. The variables @code{'attempt-stack-overflow-recovery} and
|
||||
happen. The variables @code{attempt-stack-overflow-recovery} and
|
||||
@code{attempt-orderly-shutdown-on-fatal-signal} are therefore removed.
|
||||
|
||||
@item
|
||||
The @code{list-timers} command was removed, as we decided timers are
|
||||
not user-level feature, and therefore users should not be allowed to
|
||||
not a user-level feature, and therefore users should not be allowed to
|
||||
mess with them. Ask an Emacs Lisp guru near you for help if you have
|
||||
a runaway timer in your session. (Of course, as you move back in
|
||||
time, such runaway timers will become less and less frequent, and
|
||||
|
|
|
@ -41,8 +41,6 @@ For more advanced topics,
|
|||
* Lunar Phases:: Displaying phases of the moon.
|
||||
* Other Calendars:: Converting dates to other calendar systems.
|
||||
* Diary:: Displaying events from your diary.
|
||||
* Appointments:: Reminders when it's time to do something.
|
||||
* Importing Diary:: Converting diary events to/from other formats.
|
||||
* Daylight Saving:: How to specify when daylight saving time is active.
|
||||
* Time Intervals:: Keeping track of time intervals.
|
||||
@ifnottex
|
||||
|
@ -936,6 +934,8 @@ entries.
|
|||
* Date Formats:: Various ways you can specify dates.
|
||||
* Adding to Diary:: Commands to create diary entries.
|
||||
* Special Diary Entries:: Anniversaries, blocks of dates, cyclic entries, etc.
|
||||
* Appointments:: Reminders when it's time to do something.
|
||||
* Importing Diary:: Converting diary events to/from other formats.
|
||||
@end menu
|
||||
|
||||
@node Format of Diary File
|
||||
|
@ -1363,7 +1363,7 @@ can perform arbitrary computations to determine when they apply.
|
|||
@end ifnottex
|
||||
|
||||
@node Appointments
|
||||
@section Appointments
|
||||
@subsection Appointments
|
||||
@cindex appointment notification
|
||||
|
||||
@vindex appt-display-format
|
||||
|
@ -1435,7 +1435,11 @@ also updated whenever the diary file (or a file it includes; see
|
|||
@ifnottex
|
||||
@ref{Fancy Diary Display})
|
||||
@end ifnottex
|
||||
is saved.
|
||||
is saved. If you use the Org Mode and keep appointments in your Org
|
||||
agenda files, you can add those appointments to the list using the
|
||||
@code{org-agenda-to-appt} command. @xref{Weekly/daily agenda,
|
||||
Appointment reminders,,org, The Org Manual}, for more about that
|
||||
command.
|
||||
|
||||
@findex appt-add
|
||||
@findex appt-delete
|
||||
|
@ -1446,7 +1450,7 @@ list without affecting your diary file. You delete entries from the
|
|||
appointment list with @kbd{M-x appt-delete}.
|
||||
|
||||
@node Importing Diary
|
||||
@section Importing and Exporting Diary Entries
|
||||
@subsection Importing and Exporting Diary Entries
|
||||
|
||||
You can transfer diary entries between Emacs diary files and a
|
||||
variety of other formats.
|
||||
|
@ -1581,10 +1585,13 @@ variables' values are 120.
|
|||
@cindex time intervals, summing
|
||||
@cindex summing time intervals
|
||||
@cindex timeclock
|
||||
@cindex clocking time
|
||||
|
||||
The timeclock package adds up time intervals, so you can (for
|
||||
instance) keep track of how much time you spend working on particular
|
||||
projects.
|
||||
projects. (A more advanced alternative is to use the Org Mode's
|
||||
facilities for clocking time, @pxref{Clocking work time,,,org, The Org
|
||||
Manual}).
|
||||
|
||||
@findex timeclock-in
|
||||
@findex timeclock-out
|
||||
|
|
|
@ -101,13 +101,13 @@ displayed file is the last one specified on the command line; the
|
|||
other files are visited but their buffers are not shown.
|
||||
|
||||
If the startup buffer is disabled (@pxref{Entering Emacs}), then
|
||||
@var{file} is visited in a single window if one file argument was
|
||||
supplied; with two file arguments, Emacs displays the files in two
|
||||
different windows; with more than two file argument, Emacs displays
|
||||
the last file specified in one window, plus a Buffer Menu in a
|
||||
different window (@pxref{Several Buffers}). To inhibit using the
|
||||
Buffer Menu for this, change the variable
|
||||
@code{inhibit-startup-buffer-menu} to @code{t}.
|
||||
starting Emacs with one file argument displays the buffer visiting
|
||||
@var{file} in a single window. With two file arguments, Emacs
|
||||
displays the files in two different windows. With more than two file
|
||||
argument, Emacs displays the last file specified in one window, plus
|
||||
another window with a Buffer Menu showing all the other files
|
||||
(@pxref{Several Buffers}). To inhibit using the Buffer Menu for this,
|
||||
change the variable @code{inhibit-startup-buffer-menu} to @code{t}.
|
||||
|
||||
@item +@var{linenum} @var{file}
|
||||
@opindex +@var{linenum}
|
||||
|
|
|
@ -56,11 +56,12 @@ characters, e.g., @kbd{C-@key{F1}} or @kbd{M-@key{LEFT}}.
|
|||
@cindex @key{ESC} replacing @key{META} key
|
||||
You can also type Meta characters using two-character sequences
|
||||
starting with @key{ESC}. Thus, you can enter @kbd{M-a} by typing
|
||||
@kbd{@key{ESC} a}. You can enter @kbd{C-M-a} by typing @kbd{@key{ESC}
|
||||
C-a}. Unlike @key{META}, @key{ESC} is entered as a separate
|
||||
character. You don't hold down @key{ESC} while typing the next
|
||||
character; instead, press @key{ESC} and release it, then enter the
|
||||
next character. This feature is useful on certain text terminals
|
||||
@kbd{@key{ESC} a}. You can enter @kbd{C-M-a} (holding down both
|
||||
@key{Ctrl} and @key{Alt}, then pressing @kbd{a}) by typing
|
||||
@kbd{@key{ESC} C-a}. Unlike @key{META}, @key{ESC} is entered as a
|
||||
separate character. You don't hold down @key{ESC} while typing the
|
||||
next character; instead, press @key{ESC} and release it, then enter
|
||||
the next character. This feature is useful on certain text terminals
|
||||
where the @key{META} key does not function reliably.
|
||||
|
||||
@cindex keys stolen by window manager
|
||||
|
|
|
@ -738,8 +738,8 @@ this.)
|
|||
|
||||
@vindex dired-chown-program
|
||||
The variable @code{dired-chown-program} specifies the name of the
|
||||
program to use to do the work (different systems put @command{chown}
|
||||
in different places).
|
||||
program to use to do the work. (This variable is necessary because
|
||||
different systems put @command{chown} in different places).
|
||||
|
||||
@findex dired-do-touch
|
||||
@kindex T @r{(Dired)}
|
||||
|
@ -909,7 +909,7 @@ treat it specially.
|
|||
Otherwise, if the command string contains @samp{?} surrounded by
|
||||
whitespace or @samp{`?`}, Emacs runs the shell command once
|
||||
@emph{for each file}, substituting the current file name for @samp{?}
|
||||
and @samp{`?`} each time. You can use both @samp{?} or @samp{`?`} more
|
||||
and @samp{`?`} each time. You can use both @samp{?} and @samp{`?`} more
|
||||
than once in the command; the same file name replaces each occurrence.
|
||||
If you mix them with @samp{*} the command signals an error.
|
||||
|
||||
|
@ -1402,7 +1402,7 @@ display the next image. Typing @key{DEL}
|
|||
the previous thumbnail and displays that instead.
|
||||
|
||||
@vindex image-dired-external-viewer
|
||||
To view and the image in its original size, either provide a prefix
|
||||
To view the image in its original size, either provide a prefix
|
||||
argument (@kbd{C-u}) before pressing @key{RET}, or type
|
||||
@kbd{C-@key{RET}} (@code{image-dired-thumbnail-display-external}) to
|
||||
display the image in an external viewer. You must first configure
|
||||
|
@ -1437,7 +1437,8 @@ a comment from Dired (@code{image-dired-dired-comment-files}).
|
|||
Image-Dired also provides simple image manipulation. In the
|
||||
thumbnail buffer, type @kbd{L} to rotate the original image 90 degrees
|
||||
anti clockwise, and @kbd{R} to rotate it 90 degrees clockwise. This
|
||||
rotation is lossless, and uses an external utility called JpegTRAN.
|
||||
rotation is lossless, and uses an external utility called
|
||||
@command{jpegtran}, which you need to install first.
|
||||
|
||||
@node Misc Dired Features
|
||||
@section Other Dired Features
|
||||
|
|
|
@ -954,8 +954,6 @@ The Calendar and the Diary
|
|||
* Lunar Phases:: Displaying phases of the moon.
|
||||
* Other Calendars:: Converting dates to other calendar systems.
|
||||
* Diary:: Displaying events from your diary.
|
||||
* Appointments:: Reminders when it's time to do something.
|
||||
* Importing Diary:: Converting diary events to/from other formats.
|
||||
* Daylight Saving:: How to specify when daylight saving time is active.
|
||||
* Time Intervals:: Keeping track of time intervals.
|
||||
@ifnottex
|
||||
|
@ -983,6 +981,8 @@ The Diary
|
|||
* Date Formats:: Various ways you can specify dates.
|
||||
* Adding to Diary:: Commands to create diary entries.
|
||||
* Special Diary Entries:: Anniversaries, blocks of dates, cyclic entries, etc.
|
||||
* Appointments:: Reminders when it's time to do something.
|
||||
* Importing Diary:: Converting diary events to/from other formats.
|
||||
|
||||
@ifnottex
|
||||
More advanced features of the Calendar and Diary
|
||||
|
|
|
@ -159,9 +159,10 @@ last two characters on the line. So, if you catch your transposition error
|
|||
right away, you can fix it with just a @kbd{C-t}. If you don't catch it so
|
||||
fast, you must move the cursor back between the two transposed
|
||||
characters before you type @kbd{C-t}. If you transposed a space with
|
||||
the last character of the word before it, the word motion commands are
|
||||
a good way of getting there. Otherwise, a reverse search (@kbd{C-r})
|
||||
is often the best way. @xref{Search}.
|
||||
the last character of the word before it, the word motion commands
|
||||
(@kbd{M-f}, @kbd{M-b}, etc.) are a good way of getting there.
|
||||
Otherwise, a reverse search (@kbd{C-r}) is often the best way.
|
||||
@xref{Search}.
|
||||
|
||||
@kindex C-x C-t
|
||||
@findex transpose-lines
|
||||
|
@ -181,22 +182,23 @@ punctuation characters between the words do not move. For example,
|
|||
@kbd{C-M-t} (@code{transpose-sexps}) is a similar command for
|
||||
transposing two expressions (@pxref{Expressions}), and @kbd{C-x C-t}
|
||||
(@code{transpose-lines}) exchanges lines. They work like @kbd{M-t}
|
||||
except as regards what units of text they transpose.
|
||||
except as regards the units of text they transpose.
|
||||
|
||||
A numeric argument to a transpose command serves as a repeat count: it
|
||||
tells the transpose command to move the character (word, expression, line)
|
||||
before or containing point across several other characters (words,
|
||||
expressions, lines). For example, @kbd{C-u 3 C-t} moves the character before
|
||||
point forward across three other characters. It would change
|
||||
@samp{f@point{}oobar} into @samp{oobf@point{}ar}. This is equivalent to
|
||||
repeating @kbd{C-t} three times. @kbd{C-u - 4 M-t} moves the word
|
||||
before point backward across four words. @kbd{C-u - C-M-t} would cancel
|
||||
the effect of plain @kbd{C-M-t}.
|
||||
tells the transpose command to move the character (or word or
|
||||
expression or line) before or containing point across several other
|
||||
characters (or words or expressions or lines). For example, @kbd{C-u
|
||||
3 C-t} moves the character before point forward across three other
|
||||
characters. It would change @samp{f@point{}oobar} into
|
||||
@samp{oobf@point{}ar}. This is equivalent to repeating @kbd{C-t}
|
||||
three times. @kbd{C-u - 4 M-t} moves the word before point backward
|
||||
across four words. @kbd{C-u - C-M-t} would cancel the effect of plain
|
||||
@kbd{C-M-t}.
|
||||
|
||||
A numeric argument of zero is assigned a special meaning (because
|
||||
otherwise a command with a repeat count of zero would do nothing): to
|
||||
transpose the character (word, expression, line) ending after point
|
||||
with the one ending after the mark.
|
||||
transpose the character (or word or expression or line) ending after
|
||||
point with the one ending after the mark.
|
||||
|
||||
@node Fixing Case
|
||||
@section Case Conversion
|
||||
|
@ -227,9 +229,10 @@ case-convert it and go on typing. @xref{Case}.
|
|||
|
||||
This section describes the commands to check the spelling of a
|
||||
single word or of a portion of a buffer. These commands only work if
|
||||
the spelling checker program Hunspell, Aspell, Ispell or Enchant is installed.
|
||||
These programs are not part of Emacs, but one of them is usually
|
||||
installed in GNU/Linux and other free operating systems.
|
||||
a spelling checker program, one of Hunspell, Aspell, Ispell or
|
||||
Enchant, is installed. These programs are not part of Emacs, but one
|
||||
of them is usually installed in GNU/Linux and other free operating
|
||||
systems.
|
||||
@ifnottex
|
||||
@xref{Top, Aspell,, aspell, The Aspell Manual}.
|
||||
@end ifnottex
|
||||
|
|
|
@ -994,7 +994,7 @@ variable @code{scroll-bar-adjust-thumb-portion} to control
|
|||
when the end of the buffer is visible. If its value is
|
||||
non-@code{nil}, the scroll bar can be dragged downwards even if the
|
||||
end of the buffer is shown; if @code{nil}, the thumb will be at the
|
||||
bottom when the end of the buffer is shown. You can not over-scroll
|
||||
bottom when the end of the buffer is shown. You cannot over-scroll
|
||||
when the entire buffer is visible.
|
||||
|
||||
@cindex scroll-bar face
|
||||
|
|
|
@ -49,7 +49,8 @@ default). A value of @code{control}, @code{meta}, @code{alt},
|
|||
@code{super}, or @code{hyper} makes them behave like the corresponding
|
||||
modifier keys; a value to @code{left} means be the same key as
|
||||
@code{ns-alternate-modifier}; a value of @code{none} tells Emacs to
|
||||
ignore them.
|
||||
ignore them, in which case you get the default behavior of macOS
|
||||
accentuation system from the right option key.
|
||||
|
||||
@kbd{S-mouse-1} adjusts the region to the click position,
|
||||
just like @kbd{mouse-3} (@code{mouse-save-then-kill}); it does not pop
|
||||
|
|
|
@ -119,6 +119,12 @@ second slash in the pair. In the example above,
|
|||
the terminal allows it. (To disable this dimming, turn off File Name
|
||||
Shadow mode with the command @kbd{M-x file-name-shadow-mode}.)
|
||||
|
||||
When completing remote file names (@pxref{Remote Files}), a double
|
||||
slash behaves slightly differently: it causes Emacs to ignore only the
|
||||
file-name part, leaving the rest (method, host and username, etc.)
|
||||
intact. Typing three slashes in a row ignores everything in remote
|
||||
file names. @xref{File name completion,,, tramp, The Tramp Manual}.
|
||||
|
||||
@cindex home directory shorthand
|
||||
Emacs interprets @file{~/} as your home directory. Thus,
|
||||
@file{~/foo/bar.txt} specifies a file named @file{bar.txt}, inside a
|
||||
|
@ -767,10 +773,10 @@ you type the required password, press @key{RET} to submit it. To
|
|||
prevent others from seeing your password, every character you type is
|
||||
displayed as a dot (@samp{.}) instead of its usual form.
|
||||
|
||||
Most of the features and commands associated with the minibuffer can
|
||||
@emph{not} be used when entering a password. There is no history or
|
||||
completion, and you cannot change windows or perform any other action
|
||||
with Emacs until you have submitted the password.
|
||||
Most of the features and commands associated with the minibuffer
|
||||
@emph{cannot} be used when entering a password. There is no history
|
||||
or completion, and you cannot change windows or perform any other
|
||||
action with Emacs until you have submitted the password.
|
||||
|
||||
While you are typing the password, you may press @key{DEL} to delete
|
||||
backwards, removing the last character entered. @kbd{C-u} deletes
|
||||
|
|
|
@ -791,7 +791,8 @@ the variable @code{explicit-shell-file-name}. If this is @code{nil}
|
|||
exists. Otherwise, it usually uses the variable
|
||||
@code{shell-file-name} (@pxref{Single Shell}); but if the default
|
||||
directory is remote (@pxref{Remote Files}), it prompts you for the
|
||||
shell file name.
|
||||
shell file name. @xref{Minibuffer File}, for hints how to type remote
|
||||
file names effectively.
|
||||
|
||||
Emacs sends the new shell the contents of the file
|
||||
@file{~/.emacs_@var{shellname}} as input, if it exists, where
|
||||
|
|
|
@ -764,7 +764,7 @@ This is the state for data that has been selected by the user. It can
|
|||
be selected text or items selected in a list. This state is not used
|
||||
in Emacs.
|
||||
@item INSENSITIVE
|
||||
This is the state for widgets that are visible, but they can not be
|
||||
This is the state for widgets that are visible, but they cannot be
|
||||
manipulated in the usual way---for example, buttons that can't be
|
||||
pressed, and disabled menu items. To display disabled menu items in
|
||||
yellow, use @code{fg[INSENSITIVE] = "yellow"}.
|
||||
|
|
39
etc/NEWS.26
39
etc/NEWS.26
|
@ -264,9 +264,9 @@ to non-nil moves point to the beginning of the region.
|
|||
|
||||
+++
|
||||
** New user option 'mouse-drag-and-drop-region'.
|
||||
This option allows to drag the entire region of text to another place
|
||||
or another buffer. Its behavior is customizable via the new options
|
||||
'mouse-drag-and-drop-region-cut-when-buffers-differ',
|
||||
This option allows you to drag the entire region of text to another
|
||||
place or another buffer. Its behavior is customizable via the new
|
||||
options 'mouse-drag-and-drop-region-cut-when-buffers-differ',
|
||||
'mouse-drag-and-drop-region-show-tooltip', and
|
||||
'mouse-drag-and-drop-region-show-cursor'.
|
||||
|
||||
|
@ -481,8 +481,8 @@ commands.
|
|||
libraries: 'find-library-other-window' and 'find-library-other-frame'.
|
||||
|
||||
+++
|
||||
** The new variable 'display-raw-bytes-as-hex' allows to change the
|
||||
display of raw bytes from octal to hex.
|
||||
** The new variable 'display-raw-bytes-as-hex' allows you to change
|
||||
the display of raw bytes from octal to hex.
|
||||
|
||||
+++
|
||||
** You can now provide explicit field numbers in format specifiers.
|
||||
|
@ -855,8 +855,8 @@ breakpoint (e.g. with "f" and "o") by customizing the new option
|
|||
|
||||
+++
|
||||
*** New customizable option 'edebug-max-depth'.
|
||||
This allows to enlarge the maximum recursion depth when instrumenting
|
||||
code.
|
||||
This allows you to enlarge the maximum recursion depth when
|
||||
instrumenting code.
|
||||
|
||||
** Eshell
|
||||
|
||||
|
@ -958,7 +958,7 @@ the function 'image-dired-setup-dired-keybindings'.
|
|||
---
|
||||
*** Thumbnail generation is now asynchronous.
|
||||
The number of concurrent processes is limited by the variable
|
||||
'image-dired-thumb-job-limit'.
|
||||
'image-dired-queue-active-limit'.
|
||||
|
||||
---
|
||||
*** 'image-dired-thumbnail-storage' has a new option 'standard-large'
|
||||
|
@ -1056,8 +1056,8 @@ A valid remote file name starts with "/method:host:" or
|
|||
"/-::" is the shortest remote file name then.
|
||||
|
||||
+++
|
||||
*** The command 'tramp-change-syntax' allows to choose an alternative
|
||||
remote file name syntax.
|
||||
*** The command 'tramp-change-syntax' allows you to choose an
|
||||
alternative remote file name syntax.
|
||||
|
||||
+++
|
||||
*** New connection method "sg", which supports editing files under a
|
||||
|
@ -1067,7 +1067,7 @@ different group ID.
|
|||
*** New connection method "doas" for OpenBSD hosts.
|
||||
|
||||
+++
|
||||
*** New connection method "gdrive", which allows to access Google
|
||||
*** New connection method "gdrive", which allows access to Google
|
||||
Drive onsite repositories.
|
||||
|
||||
+++
|
||||
|
@ -1169,6 +1169,9 @@ branch-related commands on a keymap bound to 'B'.
|
|||
*** 'vc-region-history' is now bound to 'C-x v h', replacing the older
|
||||
'vc-insert-headers' binding.
|
||||
|
||||
*** New user option 'vc-git-print-log-follow' to follow renames in Git logs
|
||||
for a single file.
|
||||
|
||||
** CC mode
|
||||
|
||||
---
|
||||
|
@ -1868,10 +1871,11 @@ focus via the mouse.
|
|||
frame.
|
||||
|
||||
+++
|
||||
**** 'width' and 'height' allow to specify pixel values and ratios now.
|
||||
**** 'width' and 'height' now allow the specification of pixel values
|
||||
and ratios.
|
||||
|
||||
+++
|
||||
**** 'left' and 'top' allow to specify ratios now.
|
||||
**** 'left' and 'top' now allow the specification of ratios.
|
||||
|
||||
+++
|
||||
**** 'keep-ratio' preserves size and position of child frames when their
|
||||
|
@ -1892,7 +1896,7 @@ handle fitting a frame to its buffer individually.
|
|||
+++
|
||||
**** 'drag-internal-border', 'drag-with-header-line',
|
||||
'drag-with-mode-line', 'snap-width', 'top-visible' and 'bottom-visible'
|
||||
allow to drag and resize frames with the mouse.
|
||||
allow dragging and resizing frames with the mouse.
|
||||
|
||||
+++
|
||||
**** 'minibuffer' is now set to the default minibuffer window when
|
||||
|
@ -1939,8 +1943,9 @@ like a single live window - is now official. For details consult the
|
|||
section "(elisp) Atomic Windows" in the ELisp manual.
|
||||
|
||||
+++
|
||||
*** New 'display-buffer' alist entry 'window-parameters' allows to
|
||||
assign window parameters to the window used for displaying the buffer.
|
||||
*** New 'display-buffer' alist entry 'window-parameters' allows the
|
||||
assignment of window parameters to the window used for displaying the
|
||||
buffer.
|
||||
|
||||
+++
|
||||
*** New function 'display-buffer-reuse-mode-window' is an action function
|
||||
|
@ -1960,7 +1965,7 @@ its window gets deleted by 'delete-other-windows'.
|
|||
|
||||
+++
|
||||
*** New window parameters 'mode-line-format' and 'header-line-format'
|
||||
allow to override the buffer-local formats for this window.
|
||||
allow the buffer-local formats for this window to be overridden.
|
||||
|
||||
+++
|
||||
*** New command 'window-swap-states' swaps the states of two live
|
||||
|
|
|
@ -219,7 +219,7 @@ variable."
|
|||
;; function, to avoid a gratuitous resync check; the default
|
||||
;; should be the user's home directory, be it local or remote.
|
||||
(setq comint-file-name-prefix
|
||||
(concat "/" rlogin-remote-user "@" rlogin-host ":"))
|
||||
(concat "/-:" rlogin-remote-user "@" rlogin-host ":"))
|
||||
(cd-absolute comint-file-name-prefix))
|
||||
((null rlogin-directory-tracking-mode))
|
||||
(t
|
||||
|
@ -253,7 +253,7 @@ local one share the same directories (e.g. through NFS)."
|
|||
(setq rlogin-directory-tracking-mode t)
|
||||
(setq shell-dirtrackp t)
|
||||
(setq comint-file-name-prefix
|
||||
(concat "/" rlogin-remote-user "@" rlogin-host ":")))
|
||||
(concat "/-:" rlogin-remote-user "@" rlogin-host ":")))
|
||||
((< prefix 0)
|
||||
(setq rlogin-directory-tracking-mode nil)
|
||||
(setq shell-dirtrackp nil))
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
;; Maintainer: Carsten Dominik <carsten at orgmode dot org>
|
||||
;; Keywords: outlines, hypermedia, calendar, wp
|
||||
;; Homepage: http://orgmode.org
|
||||
;; Version: 9.1.6
|
||||
;;
|
||||
;; This file is part of GNU Emacs.
|
||||
;;
|
||||
|
|
|
@ -3356,15 +3356,15 @@ to execute it asynchronously.
|
|||
The output appears in the buffer `*Async Shell Command*'.
|
||||
That buffer is in shell mode.
|
||||
|
||||
You can configure `async-shell-command-buffer' to specify what to do in
|
||||
case when `*Async Shell Command*' buffer is already taken by another
|
||||
You can configure `async-shell-command-buffer' to specify what to do
|
||||
when the `*Async Shell Command*' buffer is already taken by another
|
||||
running shell command. To run COMMAND without displaying the output
|
||||
in a window you can configure `display-buffer-alist' to use the action
|
||||
`display-buffer-no-window' for the buffer `*Async Shell Command*'.
|
||||
|
||||
In Elisp, you will often be better served by calling `start-process'
|
||||
directly, since it offers more control and does not impose the use of a
|
||||
shell (with its need to quote arguments)."
|
||||
directly, since it offers more control and does not impose the use of
|
||||
a shell (with its need to quote arguments)."
|
||||
(interactive
|
||||
(list
|
||||
(read-shell-command "Async shell command: " nil nil
|
||||
|
@ -3433,8 +3433,8 @@ In an interactive call, the variable `shell-command-default-error-buffer'
|
|||
specifies the value of ERROR-BUFFER.
|
||||
|
||||
In Elisp, you will often be better served by calling `call-process' or
|
||||
`start-process' directly, since it offers more control and does not impose
|
||||
the use of a shell (with its need to quote arguments)."
|
||||
`start-process' directly, since they offer more control and do not
|
||||
impose the use of a shell (with its need to quote arguments)."
|
||||
|
||||
(interactive
|
||||
(list
|
||||
|
@ -3552,14 +3552,20 @@ the use of a shell (with its need to quote arguments)."
|
|||
;; carriage motion (see comint-inhibit-carriage-motion).
|
||||
(set-process-filter proc 'comint-output-filter)
|
||||
(if async-shell-command-display-buffer
|
||||
;; Display buffer immediately.
|
||||
(display-buffer buffer '(nil (allow-no-window . t)))
|
||||
(add-function :before (process-filter proc)
|
||||
(lambda (process _string)
|
||||
(let ((buf (process-buffer process)))
|
||||
(when (and (zerop (buffer-size buf))
|
||||
(string= (buffer-name buf)
|
||||
bname))
|
||||
(display-buffer buf))))))))
|
||||
;; Defer displaying buffer until first process output.
|
||||
;; Use disposable named advice so that the buffer is
|
||||
;; displayed at most once per process lifetime.
|
||||
(let ((nonce (make-symbol "nonce")))
|
||||
(add-function :before (process-filter proc)
|
||||
(lambda (proc _string)
|
||||
(let ((buf (process-buffer proc)))
|
||||
(when (buffer-live-p buf)
|
||||
(remove-function (process-filter proc)
|
||||
nonce)
|
||||
(display-buffer buf))))
|
||||
`((name . ,nonce)))))))
|
||||
;; Otherwise, command is executed synchronously.
|
||||
(shell-command-on-region (point) (point) command
|
||||
output-buffer nil error-buffer)))))))
|
||||
|
|
|
@ -999,7 +999,7 @@ This prompts for a branch to merge from."
|
|||
(autoload 'vc-setup-buffer "vc-dispatcher")
|
||||
|
||||
(defcustom vc-git-print-log-follow nil
|
||||
"If true, follow renames in Git logs for files."
|
||||
"If true, follow renames in Git logs for a single file."
|
||||
:type 'boolean
|
||||
:version "26.1")
|
||||
|
||||
|
@ -1024,8 +1024,10 @@ If LIMIT is non-nil, show no more than this many entries."
|
|||
(append
|
||||
'("log" "--no-color")
|
||||
(when (and vc-git-print-log-follow
|
||||
(not (cl-some #'file-directory-p files)))
|
||||
;; "--follow" on directories is broken
|
||||
(null (cdr files))
|
||||
(car files)
|
||||
(not (file-directory-p (car files))))
|
||||
;; "--follow" on directories or multiple files is broken
|
||||
;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=8756
|
||||
;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=16422
|
||||
(list "--follow"))
|
||||
|
|
43
src/xdisp.c
43
src/xdisp.c
|
@ -34,26 +34,41 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
|
|||
in xdisp.c is the only entry into the inner redisplay code.
|
||||
|
||||
The following diagram shows how redisplay code is invoked. As you
|
||||
can see, Lisp calls redisplay and vice versa. Under window systems
|
||||
like X, some portions of the redisplay code are also called
|
||||
asynchronously during mouse movement or expose events. It is very
|
||||
important that these code parts do NOT use the C library (malloc,
|
||||
free) because many C libraries under Unix are not reentrant. They
|
||||
may also NOT call functions of the Lisp interpreter which could
|
||||
change the interpreter's state. If you don't follow these rules,
|
||||
you will encounter bugs which are very hard to explain.
|
||||
can see, Lisp calls redisplay and vice versa.
|
||||
|
||||
Under window systems like X, some portions of the redisplay code
|
||||
are also called asynchronously, due to mouse movement or expose
|
||||
events. "Asynchronously" in this context means that any C function
|
||||
which calls maybe_quit or process_pending_signals could enter
|
||||
redisplay via expose_frame and/or note_mouse_highlight, if X events
|
||||
were recently reported to Emacs about mouse movements or frame(s)
|
||||
that were exposed. And such redisplay could invoke the Lisp
|
||||
interpreter, e.g. via the :eval forms in mode-line-format, and as
|
||||
result the global state could change. It is therefore very
|
||||
important that C functions which might cause such "asynchronous"
|
||||
redisplay, but cannot tolerate the results, use
|
||||
block_input/unblock_input around code fragments which assume that
|
||||
global Lisp state doesn't change. If you don't follow this rule,
|
||||
you will encounter bugs which are very hard to explain. One place
|
||||
that needs to take such precautions is timer_check, some of whose
|
||||
code cannot tolerate changes in timer alists while it processes
|
||||
timers.
|
||||
|
||||
+--------------+ redisplay +----------------+
|
||||
| Lisp machine |---------------->| Redisplay code |<--+
|
||||
+--------------+ (xdisp.c) +----------------+ |
|
||||
^ | |
|
||||
+----------------------------------+ |
|
||||
Don't use this path when called |
|
||||
asynchronously! |
|
||||
|
|
||||
expose_window (asynchronous) |
|
||||
|
|
||||
X expose events -----+
|
||||
Block input to prevent this when |
|
||||
called asynchronously! |
|
||||
|
|
||||
note_mouse_highlight (asynchronous) |
|
||||
|
|
||||
X mouse events -----+
|
||||
|
|
||||
expose_frame (asynchronous) |
|
||||
|
|
||||
X expose events -----+
|
||||
|
||||
What does redisplay do? Obviously, it has to figure out somehow what
|
||||
has been changed since the last time the display has been updated,
|
||||
|
|
31
test/lisp/org/org-tests.el
Normal file
31
test/lisp/org/org-tests.el
Normal file
|
@ -0,0 +1,31 @@
|
|||
;;; org-tests.el --- tests for org/org.el
|
||||
|
||||
;; Copyright (C) 2018 Free Software Foundation, Inc.
|
||||
|
||||
;; Maintainer: emacs-devel@gnu.org
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
||||
;; GNU Emacs is free software: you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
|
||||
;; GNU Emacs is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;;; Code:
|
||||
|
||||
(ert-deftest org-package-version ()
|
||||
"Test Version: header is present and correct.
|
||||
Ref <https://debbugs.gnu.org/30310>."
|
||||
(should (require 'org-version nil t))
|
||||
(should (equal (version-to-list (org-release))
|
||||
(cdr (assq 'org package--builtin-versions)))))
|
Loading…
Add table
Reference in a new issue