Commit graph

41780 commits

Author SHA1 Message Date
Juanma Barranquero
76a9f03ca6 Implement offsets for absolute line numbers
* src/xdisp.c (syms_of_xdisp) <display-line-numbers-offset>:
New variable to add an offset to absolute line numbers.
(syms_of_xdisp) <display-line-numbers>: Mention it in docstring.
(maybe_produce_line_number): Use it.

* doc/emacs/display.texi (Display Custom): Document it.

* etc/NEWS (value): Announce it.

* lisp/frame.el: Add `display-line-numbers-offset' to list of
variables which should trigger redisplay of the current buffer.
2019-10-09 12:49:39 +02:00
Juanma Barranquero
4b06250ef1 Do not use tick faces beyond ZV (bug#37641)
* src/xdisp.c (maybe_produce_line_number): Check beyond_zv
before using a tick face for the line number.  Move all face
selection code outside the loop that draws the line number.
2019-10-09 12:37:30 +02:00
Lars Ingebrigtsen
967eed7596 Make add-face-text-property not be destructive on strings
* src/textprop.c (add_properties): Take a parameter to say whether
it's allowed to be destructive or not (bug#20153).
(add_text_properties_1): Ditto.
(Fadd_face_text_property): Use this to say that it shouldn't
modify face properties on strings destructively.  This avoids
altering the face properties of one string when altering them on a
copy of the string.
2019-10-09 05:08:32 +02:00
Eli Zaretskii
6469f9cd92 Fix crashes on TTY frames due to "C-x 6 f"
* src/xdisp.c (redisplay_internal): Revert the recent change
regarding TTY frames' garbaged flag.  It is not needed.

* src/dispnew.c (adjust_frame_glyphs_for_frame_redisplay):
When returning due to mismatch between the desired and actual
dimensions of the glyph matrix, set the frame's garbaged flag
for TTY frames.  This avoids crashes when we are later called
from redisplay.  Reported by Ergus <spacibba@aol.com>.
2019-10-08 16:57:23 +03:00
Eli Zaretskii
bdb04e9dd1 Fix aborts when opening a new font after face-cache reset
* src/font.c (font_open_for_lface): Make sure the default face
is realized before using its height for the font to be open.
(Bug#37637)
2019-10-08 16:13:21 +03:00
Eli Zaretskii
18251fb739 Fix a crash in TTY sessions caused by recent changes
* src/xdisp.c (redisplay_internal): Fix crashes in TTY
sessions when turning on tab-mode.
Reported by Ergus <spacibba@aol.com>.
2019-10-07 21:22:03 +03:00
Eli Zaretskii
00787a2abd Fix infloop in redisplay caused by a recent change
* src/xdisp.c (redisplay_internal): Avoid inflooping due to a
frame's garbaged flag being set after update_frame.  Reported
by Michael Heerdegen <michael_heerdegen@web.de>.
2019-10-07 19:03:04 +03:00
Lars Ingebrigtsen
0811177c96 Feval_buffer doc string lexical-binding clarification
* src/lread.c (Feval_buffer): Mention that the lexical-binding
variable is ignored in the doc string (bug#20139).
2019-10-07 17:25:07 +02:00
Paul Eggert
f2346b5788 Fix port of file-acl errno checking to non-GNU
I had misinterpreted the private email from Ashish Shukla.
* src/fileio.c (Ffile_acl): Fix typo in previous change
by negating the call to acl_errno_valid.
2019-10-06 23:08:56 -07:00
Lars Ingebrigtsen
78ac0551e7 Fix the colours on Motif horizontal scroll bars
* src/xterm.c (x_create_horizontal_toolkit_scroll_bar): Use the
same foreground/background colours as the vertical scroll bar
(bug#37359).
2019-10-07 06:53:17 +02:00
Juri Linkov
785dda9406 Allow using last_tab_bar_item on no-x builds.
* src/frame.h (struct frame): Remove HAVE_WINDOW_SYSTEM
around last_tab_bar_item.
2019-10-07 02:00:24 +03:00
Juanma Barranquero
8de2e69f02 Set alternate faces for some line numbers (bug#27734)
* lisp/faces.el (line-number-major-tick, line-number-minor-tick):
New faces.
* lisp/cus-start.el (display-line-numbers-major-tick)
(display-line-numbers-minor-tick): Add customization info.
* lisp/frame.el: Add `display-line-numbers-major-tick' and
`display-line-numbers-minor-tick' to list of variables which
should trigger redisplay of the current buffer.

* src/xdisp.c (syms_of_xdisp) <display-line-numbers-major-tick>
<display-line-numbers-major-tick>: Defvar new options.
(syms_of_xdisp) <line-number-major-tick, line-number-minor-tick>:
Defsym new faces.
(maybe_produce_line_number): Use new faces for line numbers
that are multiple of `display-line-numbers-major-tick' and
`display-line-numbers-minor-tick'.

* etc/NEWS (value): Announce new feature.
* doc/emacs/display.texi (Display Custom): Describe it.  Wording by
Robert Pluim <rpluim@gmail.com>
2019-10-06 20:53:18 +02:00
Eli Zaretskii
4638b5ce0a Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2019-10-06 19:54:58 +03:00
Paul Eggert
8ad41af3a1 Port file-acl errno checking to non-GNU
Problem reported privately for FreeBSD 12 by Ashish Shukla.
* src/fileio.c (Ffile_acl): Treat EINVAL etc. like ENOTSUP if
acl_get_file fails, to port to FreeBSD 12 and other non-GNU
platforms.
2019-10-06 09:54:25 -07:00
Eli Zaretskii
ad76020af8 Support mouse clicks on tab bar on TTY frames
This for now doesn't work on GPM.
* src/xdisp.c (display_tab_bar): Make the loop over tab-bar
items more efficient.
(tab_bar_item_info, tool_bar_item_info): Correct data type for
CHARPOS.
(tty_get_tab_bar_item, tty_handle_tab_bar_click): New functions.
(note_mouse_highlight): Handle help-echo of tab-bar tabs on
TTY frames.
* src/w32inevt.c (do_mouse_event): Call
tty_handle_tab_bar_click to process mouse clicks on the tab bar.
* src/termchar.h (tty_handle_tab_bar_click): Add prototype.
* src/w32console.c (w32con_set_terminal_modes): Disable Quick
Edit mode on entry, to make sure mouse events get reported to
us.
2019-10-06 19:53:18 +03:00
Paul Eggert
aadf721676 Improve documentation for year-zero issues
* doc/emacs/calendar.texi (Calendar Systems)
* doc/lispref/os.texi (Time Conversion):
Prefer "BC" to "B.C." since the documentation generally uses "BC".
* doc/misc/emacs-mime.texi (time-date):
* lisp/calendar/time-date.el (date-to-day, time-to-days):
In the doc string, state the day origin more clearly, and more
consistently with the rest of the documentation.
* src/timefns.c (Fdecode_time): State the year origin in
the doc string.
2019-10-05 21:24:09 -07:00
Eli Zaretskii
2fa9699fd7 Fix display of cursor in obscure use case on MS-Windows
* src/xdisp.c (redisplay_internal): Detect when the frame
becomes garbaged inside the call to update_frame, and redraw
the frame in that case.  (Bug#37579)
2019-10-05 15:02:46 +03:00
Philipp Stephani
66839a74bb * src/fns.c (Flocale_info): Avoid fixnum overflow under ASan. 2019-10-05 13:00:08 +02:00
Philipp Stephani
7d8548a011 * src/pdumper.c (dump_buffer): Update structure hash. 2019-10-05 12:36:50 +02:00
Paul Eggert
81c7f3afb3 Minor style tweaks for recent tab changes
* src/dispextern.h (MR_PARTIALLY_VISIBLE_AT_TOP):
* src/window.c (Fwindow_mode_line_height)
(Fwindow_header_line_height, Fwindow_tab_line_height)
(Fwindow_right_divider_width, Fwindow_bottom_divider_width)
(Fwindow_scroll_bar_width, Fwindow_scroll_bar_height):
(Fset_window_configuration, Fcurrent_window_configuration):
Omit unnecessary parens.
* src/dispextern.h (CURRENT_MODE_LINE_HEIGHT)
(CURRENT_HEADER_LINE_HEIGHT, CURRENT_TAB_LINE_HEIGHT):
Add parens needed to make these macros function-like.
* src/window.c (window_resize_check):
* src/window.h (WINDOW_TAB_BAR_P):
* src/xdisp.c (tab_bar_item_info): Reindent.
* src/window.c (window_wants_mode_line)
(window_wants_header_line, window_wants_tab_line):
Simplify (a && b ? 1 : 0) to (a && b).
2019-10-04 12:31:17 -07:00
Stefan Kangas
ef8fadf8c1 Add tests for secure-hash and improve doc string (Bug#37420)
* src/fns.c (Fsecure_hash_algorithms): Fix typo.
(Fsecure_hash): Add algorithm list to doc string.
* test/src/fns-tests.el (test-secure-hash): New test.
2019-10-04 17:30:57 +02:00
Juri Linkov
5eb2477be2 * src/w32inevt.c: Take into account FRAME_TAB_BAR_LINES.
* src/w32inevt.c (resize_event, maybe_generate_resize_event):
Subtract FRAME_TAB_BAR_LINES from FRAME_MENU_BAR_LINES.
2019-10-02 22:54:56 +03:00
Eli Zaretskii
6a1a87f49c Fix MS-Windows error when a directory on PATH doesn't exist
* src/w32.c (faccessat): Support more MS-Windows native error
codes that should be translated to ENOENT.  (Bug#37576)
2019-10-02 19:42:43 +03:00
Juri Linkov
2698d3dba2 Merge branch 'feature/tabs' 2019-10-01 23:15:03 +03:00
Juri Linkov
3f981a0a89 Remove unused code and reformat to 70 columns. 2019-10-01 23:01:08 +03:00
Juanma Barranquero
24a3288278 Bump up max_specpdl_size to 1600
* src/eval.c (init_eval_once): Set max_specpdl_size to 1600.
* doc/lispref/variables.texi (Local Variables): Document it.
2019-10-01 04:33:28 +02:00
Eli Zaretskii
9e9bd502ad Fix quoting in gnutls.c comments and strings
* src/gnutls.c (gnutls_make_error, emacs_gnutls_global_init)
(Fgnutls_symmetric_encrypt, Fgnutls_symmetric_decrypt)
(Fgnutls_hash_mac, Fgnutls_hash_digest): Fix quoting in doc
strings and comments.
2019-09-30 21:59:58 +03:00
Lars Ingebrigtsen
ab980bd7f5 Mention locale-related complications in format-time-string doc string
* src/timefns.c (Fformat_time_string): Mention that the width in
specifiers like %NX is often in bytes, not characters (bug#20258).
2019-09-30 16:47:48 +02:00
Paul Eggert
53ebec24c8 * src/timefns.c (Fdecode_time): Improve doc string. 2019-09-29 13:13:29 -05:00
Eli Zaretskii
5efd551503 Fix display of box around images
* src/xdisp.c (face_before_or_after_it_pos): Handle correctly
when we are called with it->bidi_it.first_elt set.  (Bug#17114)
2019-09-27 11:08:26 +03:00
Juanma Barranquero
7e6fc3842e * src/w32fns.c (Fw32_register_hot_key): Fix typo in docstring 2019-09-27 01:09:34 +02:00
Stefan Kangas
3cf8f9b1ec Remove support for destructive splicing in elisp
* src/lread.c (read1): Don't handle destructive splicing in
backquote expressions (e.g. ",.<identifier>").  (Bug#19790)
(syms_of_lread): Remove Qcomma_dot.
* src/print.c (print_object): Don't check for Qcomma_dot.
* test/src/eval-tests.el
(eval-tests-19790-backquote-comma-dot-substitution): New test.
* etc/NEWS: Announce it.
2019-09-26 18:37:23 +02:00
Mattias Engdegård
a773a64748 Allow regexp-quote to return its argument
* src/search.c (Fregexp_quote): Only allocate a new string if needed.
* doc/lispref/searching.texi (Regexp Functions):
* etc/NEWS (Incompatible Lisp Changes): Document.
2019-09-25 18:09:42 +02:00
Juri Linkov
848e21b049 Small fixes. Bind [tab-line mouse-1] to mouse-select-window. 2019-09-25 00:54:36 +03:00
Juri Linkov
8f268bb9bf Revert an attempt to implement a non‐native tab bar on NS. 2019-09-25 00:50:58 +03:00
Lars Ingebrigtsen
13f244af40 Make ImageMagick multi-image size calculations work for .ico files
* src/image.c (imagemagick_load_image): Compute image sizes
correctly in multi-image .ico files and the like (bug#18333).
2019-09-24 19:47:20 +02:00
Pip Cet
873cd63ff2 Allow a :stride argument so XBM boolvecs are in the right format.
* src/image.c (xbm_image_p): Explicitly specify the right stride if a
bool vector is used as argument.
* doc/lispref/display.texi (XBM Images): Describe bool vectors
accurately.
* etc/NEWS: Document the change (bug#36337).
2019-09-24 18:35:15 +02:00
Eli Zaretskii
bc5472a4ee ; Fix typo in recently fixed doc string
* src/process.c (Fmake_network_process): Fix capitalization in
doc string.
2019-09-24 11:49:12 +03:00
Robert Pluim
47e94f864f ; Fix previous make-network-process doc change
* src/process.c (Fmake_network_process): Correct typo.
2019-09-24 10:28:33 +02:00
Eli Zaretskii
d32d9373b5 Resurrect support for negative frame geometry parameters on MS-Windows
* src/w32fns.c (my_create_window): Avoid assertion violations
in XFIXNUM when the 'top' or 'left' frame parameters are
neither fixnums nor 'unbound', in which case
f->size_hint_flags are set by gui_figure_window_size.
(Bug#37415)
2019-09-24 10:28:44 +03:00
Lars Ingebrigtsen
8c1e0ed717 make-network-process doc clarification
* src/process.c (Fmake_network_process): Further doc clarification
for listening on "::".
2019-09-23 20:49:39 +02:00
Alan Third
64f9d6d453 Fix GNUstep build
* src/nsfont.m (nsfont_draw): Change type to match.

Co-authored-by: martin rudalics <rudalics@gmx.at>
2019-09-23 19:17:38 +01:00
Paul Eggert
946a56a10f Update some URLs
This mostly changes http: to https: in URLs.  It also updates
some URLs that have moved, removes some URLs that no longer
work, recommends against using procmail (procmail.org no
longer works), and removes some mentions of the
no-longer-existing Gmane, LPF and VTW.
It doesn't update all URLs, just the ones I had time for.
* GNUmakefile (help):
* admin/admin.el (manual-doctype-string):
* admin/charsets/Makefile.in (${charsetdir}/ALTERNATIVNYJ.map):
* admin/charsets/mapconv:
* lisp/net/soap-client.el (soap-create-envelope):
* lisp/org/org.el (org-doi-server-url):
* lisp/textmodes/bibtex.el (bibtex-generate-url-list):
Prefer https: to http: un URLs.
2019-09-23 00:12:52 -07:00
Juri Linkov
39255b9b4d Improve customizability and better tab separators.
* lisp/tab-bar.el (tab-bar-tabs-function): New defvar.

* lisp/tab-line.el (tab-line-tab-name-function)
(tab-line-tabs-function): New defvars.
2019-09-22 23:40:04 +03:00
Paul Eggert
2f600e97e7 Avoid crashes when casifying noncontiguous regions
This is a followon fix for Bug#37477.
* lisp/simple.el (region-extract-function):
Use setq here, since the var is now defined in C code.
* src/casefiddle.c (casify_pnc_region): New function.
(Fupcase_region, Fdowncase_region, Fcapitalize_region)
(Fupcase_initials_region): Use it.
(Fupcase_initials_region): Add region-noncontiguous-p flag
for consistency with the others.  All uses changed.
(syms_of_casefiddle): Define Qbounds, Vregion_extract_function.
* src/insdel.c (prepare_to_modify_buffer_1):
* src/keyboard.c (command_loop_1):
Use Vregion_extraction_function.
* src/insdel.c (syms_of_insdel): No need to define
Qregion_extract_function.
* test/src/casefiddle-tests.el (casefiddle-oldfunc): New var.
(casefiddle-loopfunc, casefiddle-badfunc): New functions.
(casefiddle-invalid-region-extract-function): New test.
2019-09-22 10:45:14 -07:00
Andreas Schwab
2cc9c45e44 Fix compilation with CHECK_STRUCTS
* src/pdumper.c (dump_buffer): Update hash of struct buffer.
2019-09-22 14:02:15 +02:00
Stefan Kangas
14e7c01fee * src/fns.c (Fbuffer_hash): Improve doc string. 2019-09-22 01:30:01 +02:00
Juri Linkov
2879c3ec1b Support rectangular regions in capitalize-region and capitalize-dwim.
* lisp/simple.el (capitalize-dwim): Add arg region-noncontiguous-p
in capitalize-region call.

* src/casefiddle.c (Fcapitalize_region): Add arg region-noncontiguous-p.
If non-nil, operate on multiple chunks.  (Bug#37477)
(Fdowncase_region): Use builtin symbol Qregion_extract_function
rather than calling intern.
2019-09-22 02:00:01 +03:00
Juri Linkov
ab2f42cad5 Take into account FRAME_TAB_BAR height in more places.
* src/dispnew.c (handle_window_change_signal, init_display_interactive):
* src/frame.c (make_terminal_frame, Fmake_terminal_frame):
* src/keyboard.c (Fsuspend_emacs):
* src/term.c (Fresume_tty):
* src/xterm.c (x_check_fullscreen):
Subtract FRAME_TAB_BAR_LINES.

* src/xterm.c (x_new_font): Set FRAME_TAB_BAR_HEIGHT.
(x_new_font, x_check_fullscreen, x_set_window_size_1)
(x_set_window_size, x_wm_set_size_hint): Add FRAME_TABBAR_HEIGHT.
2019-09-22 01:15:57 +03:00
Paul Eggert
d49d6ea967 Revert too-picky file-access tests
Problem reported by Andreas Schwab (Bug#37475).
* doc/lispref/files.texi (Writing to Files)
(Testing Accessibility, Kinds of Files):
Document that accessibility and file-type predicates return nil
if there is trouble determining accessibility or type.
* etc/NEWS: Adjust, and list the affected primitives.
* src/callproc.c (init_callproc): Go back to Ffile_exists_p.
* src/fileio.c (PICKY_EACCES, file_test_errno):
Remove.  All uses removed.
(Ffile_name_case_insensitive_p, Ffile_exists_p, Ffile_symlink_p)
(Ffile_directory_p, Ffile_regular_p): Document that these
functions return nil if there is trouble.
(Ffile_name_case_insensitive_p, check_file_access)
(Ffile_writable_p, Ffile_symlink_p, Ffile_directory_p)
(Ffile_accessible_directory_p, Ffile_regular_p)
* src/lread.c (Fload):
Go back to treating trouble in determining the answer as if the
file were missing.
* src/fileio.c (Ffile_newer_than_file_p): Use file_attribute_errno
not file_test_errno, since returning nil is not appropriate when
there are two files to test; e.g., in the rare cases where both
file timestamps have overflowed then neither t nor nil is correct.
2019-09-21 11:38:36 -07:00