aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGlenn Morris2017-11-20 13:08:35 -0500
committerGlenn Morris2017-11-20 13:08:35 -0500
commit33bfbfee7ef04392b0c30ca2ab5074a14c4ddad7 (patch)
tree1f9432682a7bff627f7208bcd8cc594bf7b5d60a /src
parent7cf41d8088284c2fe8b1807d07fc082a270e6a78 (diff)
parent6e6bf60eab1e921605064e3d39ea080639f8e0f6 (diff)
downloademacs-33bfbfee7ef04392b0c30ca2ab5074a14c4ddad7.tar.gz
emacs-33bfbfee7ef04392b0c30ca2ab5074a14c4ddad7.zip
Merge from origin/emacs-26
6e6bf60 Don't let delete_frame select a tooltip frame (Bug#27647) e9dd580 Filter obtrusive events in help-read-key-sequence. 90075e8 Fix symlink flag in tramp-gvfs-handle-file-attributes c355529 Fix bug in tramp-handle-file-truename 4c21d04 Fix a typo in doc string of electric-indent-functions-without... 319c2de Avoid assertion violations in echo_area_display 63c7733 ; * lisp/ido.el (ido-find-alternate-file): Doc fix. (Bug#29278) cbd319a Fix case-folding in Occur 29520b0 Fix quick-calc in C mode with hex values 3e80124 Improve documentation of dired-next/prev-marked-file 90add18 Prevent aborts in line-move-visual 648c128 More fixes in src/.gdbinit 104f3e5 Document how to enter whitespace when using grep-read-files
Diffstat (limited to 'src')
-rw-r--r--src/.gdbinit18
-rw-r--r--src/frame.c5
-rw-r--r--src/indent.c17
-rw-r--r--src/xdisp.c3
4 files changed, 26 insertions, 17 deletions
diff --git a/src/.gdbinit b/src/.gdbinit
index 48bb5dfadb8..e22d03ea476 100644
--- a/src/.gdbinit
+++ b/src/.gdbinit
@@ -352,7 +352,7 @@ end
352 352
353define pcursorx 353define pcursorx
354 set $cp = $arg0 354 set $cp = $arg0
355 printf "y=%d x=%d vpos=%d hpos=%d", $cp->y, $cp->x, $cp->vpos, $cp->hpos 355 printf "y=%d x=%d vpos=%d hpos=%d", $cp.y, $cp.x, $cp.vpos, $cp.hpos
356end 356end
357document pcursorx 357document pcursorx
358Pretty print a window cursor. 358Pretty print a window cursor.
@@ -369,11 +369,11 @@ end
369 369
370define pwinx 370define pwinx
371 set $w = $arg0 371 set $w = $arg0
372 if ($w->mini_p != Qnil) 372 if ($w->mini != 0)
373 printf "Mini " 373 printf "Mini "
374 end 374 end
375 printf "Window %d ", $int 375 printf "Window %d ", $w->sequence_number
376 xgetptr $w->buffer 376 xgetptr $w->contents
377 set $tem = (struct buffer *) $ptr 377 set $tem = (struct buffer *) $ptr
378 xgetptr $tem->name_ 378 xgetptr $tem->name_
379 printf "%s", ((struct Lisp_String *) $ptr)->u.s.data 379 printf "%s", ((struct Lisp_String *) $ptr)->u.s.data
@@ -381,16 +381,14 @@ define pwinx
381 xgetptr $w->start 381 xgetptr $w->start
382 set $tem = (struct Lisp_Marker *) $ptr 382 set $tem = (struct Lisp_Marker *) $ptr
383 printf "start=%d end:", $tem->charpos 383 printf "start=%d end:", $tem->charpos
384 if ($w->window_end_valid != Qnil) 384 if ($w->window_end_valid != 0)
385 xgetint $w->window_end_pos 385 printf "pos=%d", $w->window_end_pos
386 printf "pos=%d", $int 386 printf " vpos=%d", $w->window_end_vpos
387 xgetint $w->window_end_vpos
388 printf " vpos=%d", $int
389 else 387 else
390 printf "invalid" 388 printf "invalid"
391 end 389 end
392 printf " vscroll=%d", $w->vscroll 390 printf " vscroll=%d", $w->vscroll
393 if ($w->force_start != Qnil) 391 if ($w->force_start != 0)
394 printf " FORCE_START" 392 printf " FORCE_START"
395 end 393 end
396 if ($w->must_be_updated_p) 394 if ($w->must_be_updated_p)
diff --git a/src/frame.c b/src/frame.c
index 2b32751c0d3..aacb27ec790 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -1920,6 +1920,7 @@ delete_frame (Lisp_Object frame, Lisp_Object force)
1920 See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=15025. */ 1920 See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=15025. */
1921 FOR_EACH_FRAME (tail, frame1) 1921 FOR_EACH_FRAME (tail, frame1)
1922 if (!EQ (frame, frame1) 1922 if (!EQ (frame, frame1)
1923 && NILP (Fframe_parameter (frame1, Qtooltip))
1923 && (FRAME_TERMINAL (XFRAME (frame)) 1924 && (FRAME_TERMINAL (XFRAME (frame))
1924 == FRAME_TERMINAL (XFRAME (frame1))) 1925 == FRAME_TERMINAL (XFRAME (frame1)))
1925 && FRAME_VISIBLE_P (XFRAME (frame1))) 1926 && FRAME_VISIBLE_P (XFRAME (frame1)))
@@ -1930,7 +1931,9 @@ delete_frame (Lisp_Object frame, Lisp_Object force)
1930 { 1931 {
1931 FOR_EACH_FRAME (tail, frame1) 1932 FOR_EACH_FRAME (tail, frame1)
1932 { 1933 {
1933 if (! EQ (frame, frame1) && FRAME_LIVE_P (XFRAME (frame1))) 1934 if (!EQ (frame, frame1)
1935 && FRAME_LIVE_P (XFRAME (frame1))
1936 && NILP (Fframe_parameter (frame1, Qtooltip)))
1934 { 1937 {
1935 /* Do not change a text terminal's top-frame. */ 1938 /* Do not change a text terminal's top-frame. */
1936 struct frame *f1 = XFRAME (frame1); 1939 struct frame *f1 = XFRAME (frame1);
diff --git a/src/indent.c b/src/indent.c
index 192eec72efe..5f931a511e4 100644
--- a/src/indent.c
+++ b/src/indent.c
@@ -1959,21 +1959,26 @@ line_number_display_width (struct window *w, int *width, int *pixel_width)
1959 else 1959 else
1960 { 1960 {
1961 struct it it; 1961 struct it it;
1962 struct text_pos wstart; 1962 struct text_pos startpos;
1963 bool saved_restriction = false; 1963 bool saved_restriction = false;
1964 ptrdiff_t count = SPECPDL_INDEX (); 1964 ptrdiff_t count = SPECPDL_INDEX ();
1965 SET_TEXT_POS_FROM_MARKER (wstart, w->start); 1965 SET_TEXT_POS_FROM_MARKER (startpos, w->start);
1966 void *itdata = bidi_shelve_cache (); 1966 void *itdata = bidi_shelve_cache ();
1967 /* We must start from window's start point, but it could be 1967 /* We want to start from window's start point, but it could be
1968 outside the accessible region. */ 1968 outside the accessible region, in which case we widen the
1969 if (wstart.charpos < BEGV || wstart.charpos > ZV) 1969 buffer temporarily. It could even be beyond the buffer's end
1970 (Org mode's display of source code snippets is known to cause
1971 that), in which case we just punt and start from point instead. */
1972 if (startpos.charpos > Z)
1973 SET_TEXT_POS (startpos, PT, PT_BYTE);
1974 if (startpos.charpos < BEGV || startpos.charpos > ZV)
1970 { 1975 {
1971 record_unwind_protect (save_restriction_restore, 1976 record_unwind_protect (save_restriction_restore,
1972 save_restriction_save ()); 1977 save_restriction_save ());
1973 Fwiden (); 1978 Fwiden ();
1974 saved_restriction = true; 1979 saved_restriction = true;
1975 } 1980 }
1976 start_display (&it, w, wstart); 1981 start_display (&it, w, startpos);
1977 /* The call to move_it_by_lines below will not generate a line 1982 /* The call to move_it_by_lines below will not generate a line
1978 number if the first line shown in the window is hscrolled 1983 number if the first line shown in the window is hscrolled
1979 such that all of its display elements are out of view. So we 1984 such that all of its display elements are out of view. So we
diff --git a/src/xdisp.c b/src/xdisp.c
index f1c6b9ff699..016e7044caf 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -11510,6 +11510,9 @@ echo_area_display (bool update_frame_p)
11510 struct frame *sf = SELECTED_FRAME (); 11510 struct frame *sf = SELECTED_FRAME ();
11511 11511
11512 mini_window = FRAME_MINIBUF_WINDOW (sf); 11512 mini_window = FRAME_MINIBUF_WINDOW (sf);
11513 if (NILP (mini_window))
11514 return;
11515
11513 w = XWINDOW (mini_window); 11516 w = XWINDOW (mini_window);
11514 f = XFRAME (WINDOW_FRAME (w)); 11517 f = XFRAME (WINDOW_FRAME (w));
11515 11518