1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-19 01:10:57 -08:00
Commit graph

130436 commits

Author SHA1 Message Date
Noam Postavsky
d3a208ea8e Don't assume url structs are vectors (Bug#27333)
* lisp/url/url-history.el (url-history-update-url): Use `url-p'
instead of `vectorp'.
2017-06-28 07:39:05 -04:00
Mark Oteiza
5d45ba1a05 Replace with dolist some uses of while
* lisp/calc/calc-units.el (calc-permanent-units):
(math-compare-unit-names, math-simplify-units-quotient):
(math-build-units-table-buffer): Use dolist to replace extra bindings
and some while loops.
2017-06-27 23:59:24 -04:00
Noam Postavsky
e06b547e93 Make tcl-auto-fill-mode obsolete (Bug#10772)
* lisp/progmodes/tcl.el (tcl-auto-fill-mode): Declare obsolete.
* etc/NEWS: Announce it.
2017-06-27 20:34:14 -04:00
Noam Postavsky
2d992690de Don't read eshell/which output from *Help* buffer (Bug#26894)
* lisp/help-fns.el (help-fns--analyse-function)
(help-fns-function-description-header): New functions, extracted from
describe-function-1.
(describe-function-1): Use them.
* lisp/eshell/esh-cmd.el (eshell/which): Use
`help-fns-function-description-header' instead of
`describe-function-1'.
2017-06-27 20:34:14 -04:00
Eli Zaretskii
71e31ac839 Support default-text-properties
* src/xdisp.c (should_produce_line_number): Call get-char-property
at ZV as well, to support default-text-properties.
2017-06-27 19:46:50 +03:00
Eli Zaretskii
4a5653cd28 Avoid segfaults when some display vector is an empty string
* src/xdisp.c (next_element_from_display_vector): Don't try
accessing the dpvec[] array if its size is zero.  (Bug#27504)
2017-06-27 11:45:22 -04:00
Eli Zaretskii
beb95a8f89 Initial support for visually-relative line numbers
Works very slowly.

* src/xdisp.c (display_count_lines_visually): New function.
(maybe_produce_line_number): Support 'visual' mode of line-number
display.
* src/xdisp.c (maybe_produce_line_number): Update IT's metrics
also when glyph_row is NULL.  This is important for move_it_*
functions.
(syms_of_xdisp) <display-line-number-width>: Now buffer-local.
(try_window_id, redisplay_window, try_cursor_movement): For
'visual' line-number display, disable the same redisplay
optimizations as for 'relative'.

* lisp/cus-start.el (standard): Add new value for the
customization form of display-line-numbers.
2017-06-26 23:20:49 +03:00
Eli Zaretskii
67c8a219e6 Update IT's metrics while simulating display
* src/xdisp.c (maybe_produce_line_number): Update IT's metrics
also when glyph_row is NULL.  This is important for move_it_*
functions.
2017-06-26 19:38:17 +03:00
Teemu Likonen
1771d9b808
Fix bug in handling GnuPG's TRUST_MARGINAL status
* lisp/epg.el (epg--status-TRUST_MARGINAL): Change symbol `marginal'
to `good'.
2017-06-26 12:27:10 +03:00
Philipp Stephani
53777093c1 ; * src/emacs-module.c (module_make_string): Add another FIXME 2017-06-26 11:25:13 +02:00
Tino Calancha
b9e17e2dc6 Prefer when' instead of 1-branch if'
* lisp/dired-aux.el (dired-do-shell-command): Store condition value
in local variable ok.
Use `when' instead of 1-branch `if'.
2017-06-26 17:20:42 +09:00
Tino Calancha
6dd0462f5a Use #' instead of (function ...)
* lisp/dired-aux.el (dired-do-chxxx, dired-clean-directory)
(dired-mark-confirm, dired-query, dired-byte-compile)
(dired-load, dired-update-file-line, dired-after-subdir-garbage)
(dired-relist-file, dired-rename-subdir, dired-do-create-files)
(dired-mark-read-file-name, dired-do-copy, dired-do-symlink)
(dired-do-hardlink, dired-do-rename, dired-do-rename-regexp)
(dired-do-copy-regexp, dired-do-hardlink-regexp)
(dired-do-symlink-regexp, dired-create-files-non-directory)
(dired-upcase, dired-downcase)

* lisp/dired.el (dired-mode, dired-copy-filename-as-kill)
(dired-internal-do-deletions, dired-internal-do-deletions):
Prefer #' instead of (function ...).
2017-06-26 14:22:34 +09:00
Tino Calancha
cb5d6e0260 Don't quote lambda forms
* lisp/dired.el (dired-re-maybe-mark, dired-map-over-marks)
(dired-mark, dired-desktop-buffer-misc-data)

* lisp/dired-aux.el (dired-do-create-files, dired-do-create-files-regexp)
(dired-create-files-non-directory, dired-insert-subdir-validate)
(dired-alist-sort, dired-do-shell-command): Don't quote lambda forms.
2017-06-26 14:22:27 +09:00
Stefan Monnier
ebb4e61c59 * lisp/progmodes/cc-fonts.el: Remove/mark unused vars
(c-font-lock-declarators): Remove unused vars `id-end', `paren-depth',
and `brackets-after-id'.
(c-font-lock-objc-methods): Mark unused args.
2017-06-25 18:47:57 -04:00
Paul Eggert
b2bff45d0f Omit null-pointer test in intervals.h FRAME
* src/intervals.h (ROOT_INTERVAL_P, ONLY_INTERVAL_P)
(INTERVAL_LAST_POS): Omit unnecessary parens.
(LENGTH): Omit test for null pointer.  The argument is never null.
The unnecessary test causes GCC 7.1.0 to assume that the argument
might be null, and therefore to issue false alarms when the
argument is dereferenced in other expressions.
2017-06-25 12:54:12 -07:00
Paul Eggert
c05e3aafc8 Parenthesize frame.h macro definitions
* src/frame.h (FRAME_TOOL_BAR_POSITION)
(FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS)
(FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT)
(FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT)
(FRAME_OVERRIDE_REDIRECT, FRAME_UNDECORATED, FRAME_PARENT_FRAME)
(FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
(FRAME_NO_ACCEPT_FOCUS, FRAME_NO_SPECIAL_GLYPHS, FRAME_Z_GROUP)
(FRAME_Z_GROUP_NONE, FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_BELOW)
(FRAME_HAS_HORIZONTAL_SCROLL_BARS): Parenthesize macro definiens
to allow arbitrary expression arguments.
2017-06-25 12:54:12 -07:00
Paul Eggert
b2f8159867 Port recent frame changes to GCC 7
* src/frame.c (keep_ratio): New arg P.  Caller changed.  Since it
is non-null, it avoids a GCC 7 warning that FRAME_PARENT_FRAME
might return null.  This also avoids a run-time test.
2017-06-25 12:54:12 -07:00
Eli Zaretskii
33073d5629 Minor aesthetic fix of last change. 2017-06-25 20:55:58 +03:00
Eli Zaretskii
5d1025e716 Allow to disable display of line numbers beyond EOB
* src/buffer.c (disable_line_numbers_overlay_at_eob): New
function.
* src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
* src/xdisp.c (should_produce_line_number): When at ZV, call
disable_line_numbers_overlay_at_eob to determine whether line
numbers should be displayed beyond ZV.
2017-06-25 20:53:05 +03:00
Michael Albinus
68e03d1eb4 Fix Android 6/7 problems in Tramp
* lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp): Fix link part.
(tramp-adb-handle-directory-files-and-attributes)
(tramp-adb-handle-file-name-all-completions): Insert "."  and
".." only when needed.
(tramp-adb-get-ls-command): Force one column output for toybox.
2017-06-25 19:49:53 +02:00
Stefan-W. Hahn
51e8e77d0f * lisp/subr.el (setq-local): Add debug declaration (Bug#27408).
Copyright-paperwork-exempt: yes
2017-06-25 13:18:57 -04:00
Eli Zaretskii
540669cda9 Fix line number display for overlay/display strings with newlines
* src/xdisp.c (maybe_produce_line_number): Fix the condition for
producing space glyphs instead of a line number to include the
case of display strings and overlays.
2017-06-25 19:33:04 +03:00
Alan Mackenzie
b0042b7678 Make CC Mode load cl-lib rather than cl in Emacs 26.
* lisp/progmodes/cc-cmds.el (c-declaration-limits): Remove unused local
variable.

* lisp/progmodes/cc-defs.el (c--mapcan-status): Remove.
(c--cl-library): New variable.
(Top level): Amend the form which requires library cl or cl-lib.
(c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
(c--delete-duplicate): Amend to use c--cl-library instead of
c--mapcan-status.

* lisp/progmodes/cc-engine.el (c-syntactic-skip-backward)
(c-back-over-compound-identifier): Remove unused local variables.

* lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove an unused
local variable.

* lisp/progmodes/cc-langs.el (Top level): Amend to use c--cl-library instead
of c--mapcan-status.

* lisp/progmodes/cc-styles.el (Top level): Add a cc-bytecomp-defun to try to
silence a compiler warning.
2017-06-25 13:55:50 +00:00
Martin Rudalics
1886246f6f Provide additional support for child frames
Provide mouse dragging and resizing of frames.  Allow resizing
frames proportionally.  Provide additional functionality for
child frames.  Minor bug fixes.

* lisp/frame.el (frame-border-width, frame-pixel-width)
(frame-pixel-height): Alias to `frame-internal-border-width',
`frame-native-width' and `frame-native-height'.
(frame-inner-width, frame-inner-height, frame-outer-width)
(frame-outer-height): New functions.
* lisp/minibuffer.el (completion-auto-help): Fix typo.
* lisp/mouse.el (mouse-drag-line, mouse-drag-mode-line)
(mouse-drag-header-line): Allow moving a frame by dragging the
mode line of its bottommost window (on a minibuffer-less frame)
or the header line of its topmost window.
(mouse-drag-vertical-line): Mention argument in doc-string.
(mouse-resize-frame, mouse-drag-frame, mouse-drag-left-edge)
(mouse-drag-top-left-corner, mouse-drag-top-edge)
(mouse-drag-top-right-corner, mouse-drag-right-edge)
(mouse-drag-bottom-right-corner, mouse-drag-bottom-edge)
(mouse-drag-bottom-left-corner): New functions for resizing a
frame by dragging its internal border together with
corresponding key bindings.
* lisp/tooltip.el (tooltip-frame-parameters): Add
'no-special-glyphs' to default parameters and update version
tag.
* lisp/window.el (frame-auto-hide-function): Add choice to make
frame invisible and update version tag.
(window--delete): Handle 'auto-hide-function' frame parameter.
(window--maybe-raise-frame): Respect 'no-focus-on-map' and
'no-accept-focus' frame parameters.
(display-buffer--action-function-custom-type): Add
`display-buffer-in-child-frame'.
(display-buffer): Mention `display-buffer-in-child-frame' in
doc-string.
(display-buffer-in-child-frame): New action function for
`display-buffer'.
(window--sanitize-margin): Return zero when MARGIN cannot be
sanitized.
(fit-frame-to-buffer): Major rewrite to handle child frames and
'fit-frame-to-buffer-sizes' and 'fit-frame-to-buffer-margins'
frame parameters.
(window-largest-empty-rectangle--maximums-1)
(window-largest-empty-rectangle--maximums)
(window-largest-empty-rectangle--disjoint-maximums)
(window-largest-empty-rectangle): New functions.

* src/dispextern.h (WINDOW_WANTS_MODELINE_P)
(WINDOW_WANTS_HEADER_LINE_P): Remove.  Functionality is now
provided by corresponding functions window_wants_modeline and
window_wants_header_line in window.c.  Adjust users.
* src/dispnew.c (adjust_glyph_matrix)
(buffer_posn_from_coords): Use window_wants_modeline and
window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
WINDOW_WANTS_HEADER_LINE_P.
* src/frame.c (keep_ratio): New function.
(adjust_frame_size): Call keep_ratio for each of F's child
frames.
(make_frame): Initialize no_special_glyphs slot.
(frame_internal_border_part): New function.
(Fframe_pixel_width, Fframe_pixel_height, Fborder_width): Rename
to Fframe_native_width, Fframe_native_height mand
Fframe_internal_border_width.
(frame_parm_table): Add Qno_special_glyphs entry.
(frame_float_type): New enumeration type.
(frame_float): New function to handle frame size and position
ratios.
(x_set_frame_parameters): Handle size and position ratios.
(x_set_no_special_glyphs): New function
(x_figure_window_size): Handle size and position ratios.
(syms_of_frame): Add Qdisplay_monitor_attributes_list,
Qno_special_glyphs, Qframe_edges, Qkeep_ratio, Qwidth_only,
Qheight_only, Qleft_only and Qtop_only.
* src/frame.h (internal_border_part): New enumeration type.
(struct frame): New slot no_special_glyphs.
(FRAME_NO_SPECIAL_GLYPHS): New macro.
* src/gtkutil.c (xg_frame_restack): Return immediately for
GTK versions before 2.18.0.
* src/keyboard.c (internal_border_parts): New array constant.
(make_lispy_position): For frames with border dragging enabled
return internal border part.
(syms_of_keyboard): New symbols Qdrag_internal_border,
Qleft_edge, Qtop_left_corner, Qtop_edge, Qtop_right_corner,
Qright_edge, Qbottom_right_corner, Qbottom_edge and
Qbottom_left_corner.
* src/minibuf.c (read_minibuf_unwind): When exiting the
minibuffer deal with frames that have the 'minibuffer-exit'
parameter set.
(syms_of_minibuf): New symbol Qminibuffer_exit.
* src/nsfns.m (frame_parm_handler): Add entry for
x_set_no_special_glyphs.
(Fx_create_frame): Handle 'no-special-glyphs' parameter.
Intitialize new cursor types for dragging frame borders.
* src/nsterm.h (struct ns_output): Add new cursor types for
dragging frame borders.
* src/w32fns.c (w32_frame_parm_handlers): Add entry for
x_set_no_special_glyphs.
(Fx_create_frame): Handle 'no-special-glyphs' parameter.
Intitialize new cursor types for dragging frame borders.
* src/w32term.h (struct w32_output): Add new cursor types for
dragging frame borders.
* src/window.c (coordinates_in_window)
(Fwindow_line_height, window_internal_height): Use
window_wants_modeline and window_wants_header_line instead of
WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
(Fwindow_lines_pixel_dimensions): New function.
(window_parameter): New function.
(Fwindow_parameter): Call window_parameter.
(window_wants_mode_line, window_wants_header_line): New
functions replacing the macros WINDOW_WANTS_MODELINE_P and
WINDOW_WANTS_HEADER_LINE_P from dispextern.h.
(syms_of_window): New symbols Qmode_line_format and
Qheader_line_format.
* src/window.h: Reorganize and re-comment macros.  Use
window_wants_modeline and window_wants_header_line instead of
WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
(MINI_NON_ONLY_WINDOW_P, MINI_ONLY_WINDOW_P): Minor rewrite.
(WINDOW_BUFFER): New macro.
(WINDOW_BOX_LEFT_EDGE_COL, WINDOW_BOX_RIGHT_EDGE_COL): Remove.
* src/xdisp.c (window_text_bottom_y, window_box_height)
(window_box, start_display)
(compute_window_start_on_continuation_line)
(try_cursor_movement, redisplay_window)
(try_window_reusing_current_matrix, try_window_id)
(display_line, expose_window): Use window_wants_modeline and
window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
WINDOW_WANTS_HEADER_LINE_P.
(pos_visible_p, display_mode_lines): Respect W's
'mode-line-format' and 'header-line-format' window parameters.
(init_iterator): Use window_wants_modeline and
window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
WINDOW_WANTS_HEADER_LINE_P.  For tip frames respect
no_special_glyphs value.
(note_mouse_highlight): Set frame border cursors when on
internal border.
(x_draw_right_divider, x_draw_bottom_divider): Try to improve
drawing of window dividers.
* src/xfns.c (mouse_cursor): Add entries for border parts.
(mouse_cursor_types): Add entries for cursor types to drag
frame borders.
(INSTALL_CURSOR): Add entries for new cursor types to drag
frame borders.
(Fx_create_frame): Handle 'no-special-glyphs' parameter.
(x_frame_parm_handlers): Add entry for
x_set_no_special_glyphs.
(Vx_window_left_edge_shape, Vx_window_top_left_corner_shape)
(Vx_window_top_edge_shape, Vx_window_top_right_corner_shape)
(Vx_window_right_edge_shape)
(Vx_window_bottom_right_corner_shape)
(Vx_window_bottom_edge_shape)
(Vx_window_bottom_left_corner_shape): New variables.
(x_frame_restack): Call xg_frame_restack only for GTK versions
starting with 2.18.0.
* src/xterm.c (x_free_frame_resources): Remove new cursors for
dragging frame borders.
* src/xterm.h (struct x_output): Add new cursor types for
dragging frame borders.

* doc/lispref/display.texi (Size of Displayed Text): Document
`window-lines-pixel-dimensions'.
* doc/lispref/elisp.texi (Top): Add entry for "Mouse Dragging
Parameters".
* doc/lispref/frames.texi (Frame Size): Replace
frame-pixel-width/-height by frame-native-width/-height.  Add
frame-inner-width/-height and frame-outer-width/-height docs.
(Position Parameters): Describe specifying position as ratios.
Clarify remark about positions relative to bottom/ridge display
edge.
(Size Parameters): Describe specifying sizes as ratios.
Describe 'fit-frame-to-buffer-margins' and
'fit-frame-to-buffer-sizes' parameters.
(Layout Parameters): Describe 'no-special-glyphs' parameter.
(Frame Interaction Parameters): Describe 'auto-hide-function',
'minibuffer-exit' and 'keep-ratio' parameters.
(Mouse Dragging Parameters): New section describing
'drag-internal-border', 'drag-with-header-line',
'drag-with-mode-line', 'snap-width', 'top-visible' and
'bottom-visible' parameters.
(Management Parameters): Mention that `override-redirect' has
no effect on MS Windows.
(Font and Color Parameters): Mention child frames for `alpha'
parameter.
(Child Frames): Rewrite section with description and cross
references to new frame parameters added.
* doc/lispref/modes.texi (Mode Line Basics): Mention
'mode-line-format' and 'header-line-format' window parameters.
* doc/lispref/windows.texi (Resizing Windows): Mention effect
of `fit-frame-to-buffer-margins' for child frames.
(Display Action Functions): New action function
`display-buffer-in-child-frame'.
(Quitting Windows): Mention `make-frame-invisible' as optional
value of `frame-auto-hide-function' and `auto-hide-function'
frame paameter.
(Coordinates and Windows): Describe new function
`window-largest-empty-rectangle'.
(Window Parameters): Describe new parameters 'mode-line-format'
and 'header-line-format'.  Index all window parameters described
in this section.
2017-06-25 11:33:25 +02:00
Paul Eggert
4314713764 Adjust lm-verify to accept current notices
Problem reported by Mike Kupfer in:
http://lists.gnu.org/archive/html/emacs-devel/2017-06/msg00512.html
* lisp/emacs-lisp/lisp-mnt.el (lm-crack-copyright):
Do not require later lines in a copyright notice to have more
indentation than earlier lines.
2017-06-24 17:57:56 -07:00
Eli Zaretskii
16d2695674 Minor change in NEWS. 2017-06-24 21:10:04 +03:00
Eli Zaretskii
ead4ab6359 Improve documentation in NEWS. 2017-06-24 20:11:56 +03:00
Eli Zaretskii
0d5c713a6b Move additional hscrolling code into a suitable 'if'
* src/xdisp.c (hscroll_window_tree): Make additional calculations
regarding glyphs produced for line numbers conditional on
line-number display.
2017-06-24 19:40:41 +03:00
Eli Zaretskii
13cc19a0a3 Partial fix of hscroll of truncated lines with line numbers
* src/xdisp.c (x_produce_glyphs, hscroll_window_tree): Adjust
hscroll calculations to line-number display.
* src/term.c (produce_glyphs): Adjust tab stop to window's
hscroll.  These two changes fix horizontal scrolling when line
numbers are displayed.  But there's still a bug: the horizontal
shift of lines that begin with a TAB is different from the rest.
* src/xdisp.c (move_it_in_display_line_to): Call
should_produce_line_number to determine whether a line number
should be produced for this screen line.
2017-06-24 19:03:39 +03:00
Noam Postavsky
c75eb1030f Don't change byte-compile-delete-errors at runtime (Bug#27340)
* lisp/emacs-lisp/eieio-core.el: Confine `cl-declaim' calls to compile
time.
2017-06-24 10:12:53 -04:00
Eli Zaretskii
6e18841b17 Allow Lisp program to disable line-number display for specific lines
* etc/NEWS: Update the documentation.

* src/xdisp.c (syms_of_xdisp) <display-line-numbers-disable>: New
symbol.
(should_produce_line_number): New function.
(display_line): Use should_produce_line_number to determine
whether a line number should be produced for each glyph row.
2017-06-24 16:58:01 +03:00
Stefan Monnier
4bd4df4047 * lisp/net/html2text.el: Move to obsolete/. 2017-06-24 08:59:20 -04:00
Eli Zaretskii
71a7294d0a Support a separate face for displaying the current line's number
* lisp/faces.el (line-number-current-line): New face.

* src/xdisp.c (syms_of_xdisp) <line-number-current-line>: New
symbol.
(try_window_id, try_cursor_movement): Disable these optimizations
when the line-number-current-line face is different from
line-number face.
(maybe_produce_line_number): Display the current line in the
line-number-current-line face, if it's different from line-number.
2017-06-24 15:45:23 +03:00
Eli Zaretskii
fa5e84cccd Change display of current line in relative mode
* src/xdisp.c (maybe_produce_line_number): In relative mode
display the current line number as its absolute value, not as zero.
2017-06-24 15:15:02 +03:00
Eli Zaretskii
efedb66466 Rename display-line-width
* etc/NEWS:
* src/xdisp.c (syms_of_xdisp, maybe_produce_line_number):
* lisp/cus-start.el: Rename display-line-width to
display-line-number-width.
2017-06-24 14:53:35 +03:00
Eli Zaretskii
55a9298d63 Fix tab stops when line numbers are displayed
* src/xdisp.c (x_produce_glyphs):
* src/term.c (produce_glyphs): Adjust tab stops for the horizontal
space taken by the line-number display.
2017-06-24 14:29:32 +03:00
Eli Zaretskii
7d7602cea0 Fix crashes on TTY frames due to negative lnum_width. 2017-06-24 13:26:01 +03:00
Eli Zaretskii
9776d7bcf0 Don't display line numbers in the minibuffer and in tooltip frames. 2017-06-24 13:01:30 +03:00
Eli Zaretskii
5b648ac7a2 Fix problems with line-number updates in Follow mode
* src/xdisp.c (redisplay_window): If forced window-start requires
to move a window's point, and the window is under relative
line-number display, force another round of redisplay to update
the relative line numbers.  This fixes follow-mode "redisplay" of
its window group.

* lisp/frame.el: Add display-line-numbers to the list of variables
that should trigger redisplay of the current buffer.
2017-06-24 12:37:30 +03:00
Eli Zaretskii
77f8b86e40 Fix display of line numbers with fonts larger than the default
* src/xdisp.c (maybe_produce_line_number): Update the metrics in
IT, not in IT->glyph_row, since the latter gets overwritten in
display_line.  Fixes display of line numbers when the font used
for them is larger than that of the default face.
2017-06-24 11:34:52 +03:00
Vincent Belaïche
2f943ab169 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2017-06-23 22:08:10 +02:00
Eli Zaretskii
bbaf2f3d52 Fix background color beyond EOB and cursor display
* src/xdisp.c: 	(maybe_produce_line_number): Use the default face
for background of the blank glyphs in the line-number area which
are drawn beyond EOB.
(display_line): Reset the glyph row's displays_text_p flag only on
empty lines that don't display line numbers.  This fixes cursor
display beyond EOB.  Fix the bidi information in the glyphs
produced for line numbers.  Set the avoid_cursor_p flag of glyphs
produced for line numbers.
2017-06-23 18:13:53 +03:00
Eli Zaretskii
d4eddb08e5 Fix display of indicate-empty-lines when line numbers are displayed
* src/xdisp.c (row_text_area_empty): New function.
(display_line): Call row_text_area_empty to verify that a glyph
row's text area is devoid of any glyphs that came from a buffer or
a string.  This fixes a bug with empty-lines indication
disappearing when line numbers or line-prefix are displayed.
(display_line): Delete the argument FORCE; all callers changed.
Remove the condition for actually producing the glyphs for the
line number, as even if the number didn't change we need to
produce empty space.
2017-06-23 17:13:01 +03:00
Vincent Belaïche
eebb9783e1 Fix symbol relocation when the relocated cell is renamed.
* lisp/ses.el (ses-sym-rowcol):  Check that the renamed cell
hashmap has been instantiated before getting data from it.  When
editing several spreadsheets, and you have spreadsheet #1 with a
cell named `foo', and no renamed cell in spreadsheet #2, then if
you make a formula with `foo' in spreadsheet #2, not doing this
check will make an error.
(ses-cell-set-formula): Robustify versus incorrect cell references
given in the user provided formula.  An explicit error message is
provided after the action when the user gives an incorrect cell
reference, but the formula edition is not changed.  This means that
if the incorrect reference is to a cell that is created someday,
then this new cell will not have the edited cell in its reference
list.  Fixing this can still be done by editing again the first
cell formula.
(ses-relocate-symbol): Do not create symbol of referred-to cell
when this is a renamed cell.
2017-06-23 11:16:37 +02:00
Rasmus
20e006ffee ; Fix version in orgcard.tex 2017-06-23 10:59:16 +02:00
Rasmus
896641b962 Synchronize with the "emacs-sync" branch from Org 2017-06-23 10:58:09 +02:00
Paul Eggert
dfe73cb06f Remove getc_unlocked configure-time check
* configure.ac (getc_unlocked): Remove check, as unlocked-io now
does this for us.
2017-06-22 13:19:29 -07:00
Paul Eggert
f6ef15cf84 Use unlocked stdio more systematically
This can improve performance significantly on stdio-bottlenecked code.
E.g., make-docfile is 3x faster on my Fedora 25 x86-64 desktop.
* admin/merge-gnulib (GNULIB_MODULES): Add unlocked-io.
* lib-src/ebrowse.c, lib-src/emacsclient.c, lib-src/etags.c:
* lib-src/hexl.c, lib-src/make-docfile.c, lib-src/movemail.c:
* lib-src/profile.c, lib-src/update-game-score.c:
Include unlocked-io.h instead of stdio.h, since these programs are
single-threaded.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lib/unlocked-io.h, m4/unlocked-io.m4: New files, copied from Gnulib.
* src/charset.c, src/cm.c, src/emacs.c, src/image.c, src/keyboard.c:
* src/lread.c, src/term.c:
Include sysstdio.h, possibly instead of stdio.h, to define
the unlocked functions if the system does not provide them.
* src/charset.c, src/lread.c (getc_unlocked):
Remove, since sysstdio.h now defines it if needed.
* src/cm.c (cmputc, cmcheckmagic):
* src/dispnew.c (update_frame, update_frame_with_menu)
(update_frame_1, Fsend_string_to_terminal, Fding, bitch_at_user):
* src/emacs.c (main, Fdump_emacs):
* src/fileio.c (Fdo_auto_save, Fset_binary_mode):
* src/image.c (slurp_file, png_read_from_file, png_load_body)
(our_stdio_fill_input_buffer):
* src/keyboard.c (record_char, kbd_buffer_get_event, handle_interrupt):
* src/lread.c (readbyte_from_file):
* src/minibuf.c (read_minibuf_noninteractive):
* src/print.c (printchar_to_stream, strout)
(Fredirect_debugging_output):
* src/sysdep.c (reset_sys_modes, procfs_ttyname)
(procfs_get_total_memory):
* src/term.c (tty_ring_bell, tty_send_additional_strings)
(tty_set_terminal_modes, tty_reset_terminal_modes)
(tty_update_end, tty_clear_end_of_line, tty_write_glyphs)
(tty_write_glyphs_with_face, tty_insert_glyphs)
(tty_menu_activate):
* src/xfaces.c (Fx_load_color_file):
Use unlocked stdio when it should be safe.
* src/sysstdio.h (clearerr_unlocked, feof_unlocked, ferror_unlocked)
(fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked)
(fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked)
(putc_unlocked, putchar_unloced): Provide substitutes if not declared.
2017-06-22 11:22:53 -07:00
Glenn Morris
18896f7913 * lisp/net/shr.el (shr-fill-text): Actually fill the text. (Bug#27399) 2017-06-22 14:11:29 -04:00
Michal Nazarewicz
21132e2623 unidata: don’t check special casing in unidata-check (bug#26656)
* admin/unidata/unidata-gen.el (unidata-check): Do not test special
casing mapping of characters since that mapping is not constructed from
the unidata.txt file.
Also, check for integer decoder and cons char earlier so that less
unnecessary processing is performed.
2017-06-22 15:58:40 +02:00