1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-02 08:22:22 +00:00

Merge from origin/emacs-25

6e3adf8 Fix crash in syntax.c after GC
973ce5a Improve squiggly heredoc support in non-SMIE Ruby mode
9d5cceb Fix doc string quoting
0b33a23 Fix mouse dragging of vertical dividers with scroll bars on l...
a5d05f4 * etc/PROBLEMS: Mention the link-time problems on FreeBSD 11.
This commit is contained in:
Paul Eggert 2016-06-07 09:34:27 -07:00
commit 2aa6b47e3e
9 changed files with 48 additions and 44 deletions

View File

@ -2419,6 +2419,13 @@ files are installed. Then use:
(using the location of the 32-bit X libraries on your system).
*** Building on FreeBSD 11 fails at link time due to unresolved symbol
The symbol is sendmmsg@FBSD_1.4. This is due to a faulty libgio
library on these systems. The solution is to reconfigure Emacs while
disabling all the features that require libgio: rsvg, dbus, gconf, and
imagemagick.
*** Building Emacs for Cygwin can fail with GCC 3
As of Emacs 22.1, there have been stability problems with Cygwin

View File

@ -6210,7 +6210,7 @@ and `list-directory-verbose-switches'."
PATTERN is assumed to represent a file-name wildcard suitable for the
underlying filesystem. For Unix and GNU/Linux, each character from the
set [ \\t\\n;<>&|()`'\"#$] is quoted with a backslash; for DOS/Windows, all
set [ \\t\\n;<>&|()\\=`\\='\"#$] is quoted with a backslash; for DOS/Windows, all
the parts of the pattern which don't include wildcard characters are
quoted with double quotes.

View File

@ -415,7 +415,15 @@ must be one of the symbols `header', `mode', or `vertical'."
(or (not resize-mini-windows)
(eq minibuffer-window
(active-minibuffer-window)))))))
(setq draggable nil))))
(setq draggable nil)))
((eq line 'vertical)
(let ((divider-width (frame-right-divider-width frame)))
(when (and (or (not (numberp divider-width))
(zerop divider-width))
(eq (cdr (assq 'vertical-scroll-bars
(frame-parameters frame)))
'left))
(setq window (window-in-direction 'left window t))))))
(let* ((exitfun nil)
(move

View File

@ -1151,7 +1151,7 @@ delimiter."
((looking-at "<<")
(cond
((and (ruby-expr-beg 'heredoc)
(looking-at "<<\\(-\\)?\\(\\([\"'`]\\)\\([^\n]+?\\)\\3\\|\\(?:\\sw\\|\\s_\\)+\\)"))
(looking-at "<<\\([-~]\\)?\\(\\([\"'`]\\)\\([^\n]+?\\)\\3\\|\\(?:\\sw\\|\\s_\\)+\\)"))
(setq re (regexp-quote (or (match-string 4) (match-string 2))))
(if (match-beginning 1) (setq re (concat "\\s *" re)))
(let* ((id-end (goto-char (match-end 0)))

View File

@ -4684,7 +4684,7 @@ Usage:
SPECIAL MENUES:
As an alternative to the speedbar, an index menu can be added (set
option `vhdl-index-menu' to non-nil) or made accessible as a mouse menu
(e.g. add \"(global-set-key '[S-down-mouse-3] 'imenu)\" to your start-up
(e.g. add \"(global-set-key [S-down-mouse-3] \\='imenu)\" to your start-up
file) for browsing the file contents (is not populated if buffer is
larger than 256000). Also, a source file menu can be
added (set option `vhdl-source-file-menu' to non-nil) for browsing the

View File

@ -3954,9 +3954,9 @@ the match data are the result of matching REGEXP against a substring
of STRING, the same substring that is the actual text of the match which
is passed to REP as its argument.
To replace only the first match (if any), make REGEXP match up to \\'
To replace only the first match (if any), make REGEXP match up to \\\\='
and replace a sub-expression, e.g.
(replace-regexp-in-string \"\\\\(foo\\\\).*\\\\'\" \"bar\" \" foo foo\" nil nil 1)
(replace-regexp-in-string \"\\\\(foo\\\\).*\\\\\\='\" \"bar\" \" foo foo\" nil nil 1)
=> \" bar foo\""
;; To avoid excessive consing from multiple matches in long strings,

View File

@ -429,7 +429,7 @@ x exchanges point and mark.
Mark ring is pushed at start of every successful search and when
jump to line occurs. The mark is set on jump to buffer start or end.
\\[point-to-register] save current position in character register.
' go to position saved in character register.
\\=' go to position saved in character register.
s do forward incremental search.
r do reverse incremental search.
\\[View-search-regexp-forward] searches forward for regular expression, starting after current page.

View File

@ -3125,7 +3125,7 @@ - (NSString *)panel: (id)sender userEnteredFilename: (NSString *)filename
(setq ns-icon-type-alist
(append ns-icon-type-alist
'((\"^\\\\*\\\\(Group\\\\*$\\\\|Summary \\\\|Article\\\\*$\\\\)\"
\\='((\"^\\\\*\\\\(Group\\\\*$\\\\|Summary \\\\|Article\\\\*$\\\\)\"
. \"Gnus\"))))
When you miniaturize a Group, Summary or Article frame, Gnus.tiff will

View File

@ -2182,63 +2182,51 @@ skip_syntaxes (bool forwardp, Lisp_Object string, Lisp_Object lim)
ptrdiff_t start_point = PT;
ptrdiff_t pos = PT;
ptrdiff_t pos_byte = PT_BYTE;
unsigned char *p = PT_ADDR, *endp, *stop;
if (forwardp)
{
endp = (XINT (lim) == GPT) ? GPT_ADDR : CHAR_POS_ADDR (XINT (lim));
stop = (pos < GPT && GPT < XINT (lim)) ? GPT_ADDR : endp;
}
else
{
endp = CHAR_POS_ADDR (XINT (lim));
stop = (pos >= GPT && GPT > XINT (lim)) ? GAP_END_ADDR : endp;
}
unsigned char *p, *endp, *stop;
immediate_quit = 1;
SETUP_SYNTAX_TABLE (pos, forwardp ? 1 : -1);
if (forwardp)
{
if (multibyte)
while (true)
{
while (1)
p = BYTE_POS_ADDR (pos_byte);
endp = XINT (lim) == GPT ? GPT_ADDR : CHAR_POS_ADDR (XINT (lim));
stop = pos < GPT && GPT < XINT (lim) ? GPT_ADDR : endp;
do
{
int nbytes;
if (p >= stop)
{
if (p >= endp)
break;
goto done;
p = GAP_END_ADDR;
stop = endp;
}
c = STRING_CHAR_AND_LENGTH (p, nbytes);
if (multibyte)
c = STRING_CHAR_AND_LENGTH (p, nbytes);
else
c = *p, nbytes = 1;
if (! fastmap[SYNTAX (c)])
break;
goto done;
p += nbytes, pos++, pos_byte += nbytes;
UPDATE_SYNTAX_TABLE_FORWARD (pos);
}
}
else
{
while (1)
{
if (p >= stop)
{
if (p >= endp)
break;
p = GAP_END_ADDR;
stop = endp;
}
if (! fastmap[SYNTAX (*p)])
break;
p++, pos++, pos_byte++;
UPDATE_SYNTAX_TABLE_FORWARD (pos);
}
while (!parse_sexp_lookup_properties
|| pos < gl_state.e_property);
update_syntax_table_forward (pos + gl_state.offset,
false, gl_state.object);
}
}
else
{
p = BYTE_POS_ADDR (pos_byte);
endp = CHAR_POS_ADDR (XINT (lim));
stop = pos >= GPT && GPT > XINT (lim) ? GAP_END_ADDR : endp;
if (multibyte)
{
while (1)
@ -2280,6 +2268,7 @@ skip_syntaxes (bool forwardp, Lisp_Object string, Lisp_Object lim)
}
}
done:
SET_PT_BOTH (pos, pos_byte);
immediate_quit = 0;
@ -3109,7 +3098,7 @@ but before count is used up, nil is returned. */)
DEFUN ("backward-prefix-chars", Fbackward_prefix_chars, Sbackward_prefix_chars,
0, 0, 0,
doc: /* Move point backward over any number of chars with prefix syntax.
This includes chars with expression prefix syntax class (') and those with
This includes chars with expression prefix syntax class (\\=') and those with
the prefix syntax flag (p). */)
(void)
{