1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-04 04:52:10 -08:00
Commit graph

40338 commits

Author SHA1 Message Date
Eli Zaretskii
5be83e343f Allow access to MS-Windows Registry from Lisp programs
* src/w32.c (g_b_init_reg_open_key_ex_w)
(g_b_init_reg_query_value_ex_w)
(g_b_init_expand_environment_strings_w): New init flags.
(globals_of_w32): Initialize them at startup.
(RegOpenKeyExW_Proc, RegQueryValueExW_Proc)
(ExpandEnvironmentStringsW_Proc): New function typedefs.
(reg_open_key_ex_w, reg_query_value_ex_w)
(expand_environment_strings_w): New wrapper function.
(w32_read_registry): New function.
* src/w32fns.c (Fw32_read_registry) [WINDOWSNT]: New primitive.
(syms_of_w32fns) [WINDOWSNT]: Defsubr it.  DEFSYM "HKLM", "HKCU",
etc. root keys.

* etc/NEWS: Mention the new primitive.
2018-05-29 20:52:17 +03:00
Paul Eggert
a37166eb80 Port .gdbinit to unsigned-pointer platforms
* src/.gdbinit (Lisp_Object_Printer.to_string):
Don’t assume that GDB treats C pointers as signed integers.
Problem found with GDB Fedora 8.1-15.fc28.
2018-05-26 17:33:21 -07:00
Paul Eggert
a73e4f53ab GNOME moved URLs for its active bug reports
* src/emacs.c (main) [USE_GTK]:
* src/gtkutil.c (xg_display_close):
* src/xterm.c (x_connection_closed):
Update GNOME bug report URLs.
2018-05-26 16:44:09 -07:00
Glenn Morris
48d6212655 Merge from origin/emacs-26
07f8f9b (origin/emacs-26) ; * lisp/ldefs-boot.el: Update.
5cec2b0 * etc/HISTORY: Update for Emacs 26.1 release.
7c474e1 * etc/AUTHORS: Update.
ddc7bea ; * ChangeLog.3: Update.
3557460 ; * admin/authors.el: Update.
2f44d2d Note caveat for backward regexp searching in docstring (Bug#3...
3145d08 Update backtrace in Emacs Lisp Intro
43a9c26 Move window-point in bibtex-search-entry
4bb2741 More fixes of Intro to Emacs Lisp
c57c226 ; * doc/emacs/misc.texi (FFAP): Fix a typo.  (Bug#31580)
0a51113 Add a footnote to Emacs Lisp Intro
5eabe4a ; * doc/emacs/msdos.texi (ls in Lisp): Fix a typo.  (Bug#31575)
d5e0ceb * lisp/help.el (with-help-window): Doc fix.  (Bug#31574)
e7952bd Fix some cross-references in emacs-lisp-intro.texi
a897959 Minor copyedits in Emacs manual in macos.texi

Conflicts:
	lisp/ldefs-boot.el
2018-05-25 09:45:34 -07:00
Noam Postavsky
2f44d2d5b1 Note caveat for backward regexp searching in docstring (Bug#31584)
* src/search.c (Fre_search_backward): Emphasize that backwards
searches may give shorter than expected matches.
* doc/lispref/searching.texi (Regexp Search): Add an anchor for
re-search-backward to reference.
2018-05-25 07:54:30 -04:00
Noam Postavsky
6f037f427a Honor print-charset-text-property value of nil (Bug#31376)
* src/print.c (print_check_string_charset_prop): Move check
for nil Vprint_charset_text_property from here...
(print_prune_string_charset): ... to here.
(syms_of_print) <print-charset-text-property>: Clarify that any
non-boolean values are treated the same as `default'.
* doc/lispref/streams.texi (Output Variables): Add
print-prune-string-charset.
* test/src/print-tests.el (print-charset-text-property-nil)
(print-charset-text-property-default)
(print-charset-text-property-t): New tests.
(print-tests--prints-with-charset-p): New helper function.
2018-05-23 07:53:58 -04:00
Paul Eggert
e18600dfbd Work around GCC bug with function attributes
* src/alloc.c (PNTR_ADD): Put attributes after ‘static’ and before
returned type.  Problem reported by Eli Zaretskii in:
https://lists.gnu.org/r/emacs-devel/2018-05/msg00559.html
2018-05-22 13:05:48 -07:00
Paul Eggert
02f303d75f Fix failed assertion when load-force-doc-strings
Problem reported by Philipp Stephani (Bug#31556).
* src/lread.c (read_vector): When load_force_doc_strings, check
for byte code vectors that are invalid because they are too short.
* test/src/lread-tests.el (lread-invalid-bytecodes): New test.
2018-05-22 12:42:16 -07:00
Paul Eggert
a51725280a Minor tweaks to recent fix for Bug#31545
* src/xwidget.c (webkit_javascript_finished_cb)
(Fxwidget_webkit_execute_script): Use intptr_t to avoid warnings
in the (unlikely) event that ptrdiff_t and void * differ in width.
(save_script_callback): Simplify by using xlispdstrdup and
larger_vector.
2018-05-22 09:14:03 -07:00
Andreas Schwab
d2d35febf2 * src/xwidget.c (Fxwidget_webkit_goto_uri): Encode uri. 2018-05-22 00:09:24 +02:00
Andreas Schwab
8811c2408d Make xwidget-webkit-execute-script safe against GC (Bug#31545)
* src/xwidget.h (struct xwidget): Add script_callbacks.
* src/xwidget.c (save_script_callback): New function.
(Fxwidget_webkit_execute_script): Use it.  Encode script
before passing to execution engine.  Always use a callback.
(webkit_javascript_finished_cb): Deallocate script.
(kill_buffer_xwidgets): Deallocate remaining scripts.
(Fxwidget_webkit_zoom): Doc fix.
(Fxwidget_resize): Doc fix.
2018-05-21 22:51:20 +02:00
Paul Eggert
593c367b07 * src/alloc.c: Fix comment. 2018-05-18 15:53:21 -07:00
Paul Eggert
a1c925fd41 Port to GCC 8 -fsanitize=undefined
In GCC 8, gcc -fsanitize=undefined flags the undefined behavior
that Emacs relies on in its XPNTR and XSYMBOL low-level functions.
Disable undefined sanitization in these functions.  Although this
disabling doesn’t suffice if DEFINE_KEY_OPS_AS_MACROS is true, it
works for -fsanitize=undefined -DINLINING=0, which is good enough.
* src/alloc.c (macro_PNTR_ADD): New macro.
(PNTR_ADD): New function and macro.
The function disables -fsanitize=undefined.
(macro_XPNTR): Use it.
* src/conf_post.h (ATTRIBUTE_NO_SANITIZE_UNDEFINED): New macro.
* src/lisp.h (XSYMBOL): Disable -fsanitize=undefined.
2018-05-18 15:49:48 -07:00
Eli Zaretskii
3aab8626ba Fix decoding of directories when "~" includes non-ASCII chars
* src/fileio.c (Fexpand_file_name): Don't build multibyte strings
from unibyte non-ASCII strings when NAME and DEFAULT_DIRECTORY
have different multibyteness, as this adds bytes to the byte
sequence, and in some situations, e.g., when the home directory
includes non-ASCII characters, can fail file APIs.  (Bug#30755)

* lisp/startup.el (normal-top-level): Make sure default-directory
is set to a multibyte string when decoded on MS-Windows.
2018-05-18 16:34:19 +03:00
Glenn Morris
3ee1841f28 Merge from origin/emacs-26
b98cf9c ; Fix a typo in the Emacs manual
700fcd7 * doc/emacs/help.texi: Fix paren typo.
c9c0e40 More minor changes in shell-related nodes of Emacs manual
e6bf19c Fix inaccuracies in "Shell Ring" node of Emacs manual
087681b8 Improve documentation of kmacro commands and variables.
be2e8cb * doc/man/emacs.1.in: Document --fg-daemon and --bg-daemon.
1d9e66a Don't check non-X frames for z order (Bug#31373)
7dc028e Check NSWindow is actually a frame

Conflicts:
	src/nsfns.m
2018-05-15 09:09:48 -07:00
Basil L. Contovounesios
eabb6f6c3e Rewrite scroll-other-window-down in C (bug#30207)
* lisp/window.el (scroll-other-window-down):
Move to src/window.c as Fscroll_other_window_down.
* src/window.c (scroll_command): Generalise for arbitrary windows.
(Fscroll_up, Fscroll_down): Use scroll_command with selected_window.
(Fscroll_other_window, Fscroll_other_window_down):
Rewrite in terms of scroll_command.
(syms_of_window): Add Sscroll_other_window_down.
2018-05-10 19:04:11 -04:00
Basil L. Contovounesios
d5cf1b3160 Improve documentation for "other window" scrolling
* doc/emacs/windows.texi (Other Window):
* doc/lispref/windows.texi (Textual Scrolling):
Document scroll-other-window-down.
* doc/lispref/minibuf.texi (Minibuffer Misc):
Cross-reference minibuffer-scroll-window with Textual Scrolling.
* src/window.c (Fother_window_for_scrolling):
Clarify how "other window" is determined in docstring.
(Fscroll_other_window): Simplify docstring, pointing to that of
Fother_window_for_scrolling. (bug#30207)
2018-05-10 19:04:11 -04:00
Basil L. Contovounesios
dc9188ada5 Limit "other window" scrolling to current terminal
* src/window.c (Fother_window_for_scrolling): Limit next-window
search to visible frames on the current terminal. (bug#30207)
2018-05-10 19:04:11 -04:00
Noam Postavsky
1d9e66aea1 Don't check non-X frames for z order (Bug#31373)
* src/xfns.c (x_frame_list_z_order): Only use frames with
`output_method' set to `output_x_window'.
2018-05-07 21:35:25 -04:00
Alan Third
7dc028e250 Check NSWindow is actually a frame
* src/nsfns.m (Fns_frame_list_z_order): Check NSWindow is an instance
of EmacsView before treating it as one.
2018-05-07 22:58:42 +01:00
Glenn Morris
766b057e41 Merge from origin/emacs-26
1d732d6 (origin/emacs-26) Fix gud-statement for pdb
91a68b5 ; * msdos/INSTALL: Add info about GCC versions.
7ddcc9a Document 'custom-group'
58f9e15 A minor addition to etc/DEBUG
4590414 Avoid errors in ispell.el when Enchant returns empty extra chars
d0d75f9 Make 'ispell-initialize-spellchecker-hook' work again
b90ce66 Handle selected_window change in prepare_menu_bars (Bug#31312)
79ad0b3 ; * INSTALL: Fix Emacs version number.  (Bug#31358)
91de88b Fix report-emacs-bug via mailclient on MS-Windows
f4b5ff2 Port collation tests to glibc 2.27
2018-05-07 07:50:49 -07:00
Ari Roponen
6e362a32bc Fix cairo scrolling for side-by-side windows
* src/xterm.c (x_scroll_run) [USE_CAIRO]: Fix scrolling for
side-by-side split windows.  (Bug#31288)
2018-05-06 21:27:57 +03:00
Ari Roponen
2d0eff42b8 Fix some problems in the Cairo build
* src/xterm.c (x_begin_cr_clip): Create image surface.
(x_update_end) [USE_CAIRO]: Remove GTK3-specific code.
(x_scroll_run) [USE_CAIRO]: Implement scrolling.
* src/image.c (lookup_rgb_color) [USE_CAIRO]: Support Cairo.
(jpeg_load_body) [USE_CAIRO]: Support Cairo.  Use USE_CAIRO
instead of CAIRO for #ifdef's.
(imagemagick_load_image) [USE_CAIRO]: Support Cairo.
(Bug#31288)
2018-05-05 12:29:40 +03:00
Eli Zaretskii
e2879c1f83 Avoid infloops in font_open_entity
* src/font.c (font_open_entity): Fail after 15 iterations through
the loop that looks for a font whose average_width and height are
both positive.  This avoids infinite loops for fonts that, e.g.,
report average_width of zero for any possible size we try.
(Bug#31316)
2018-05-05 11:52:29 +03:00
Noam Postavsky
b90ce66d32 Handle selected_window change in prepare_menu_bars (Bug#31312)
* src/xdisp.c (redisplay_internal): Check selected_window after
calling prepare_menu_bars, since it can call lisp hooks.
2018-05-03 20:58:06 -04:00
Paul Eggert
ef1deb48f4 More porting to GCC 8 of --enable-gcc-warnings
* lwlib/lwlib-Xaw.h (xaw_update_one_value, xaw_popup_menu):
* lwlib/lwlib-Xlw.h (xlw_update_one_value, xlw_pop_instance):
* lwlib/lwlib.h (lw_allow_resizing, lw_set_main_areas) [!USE_MOTIF]:
No longer const.
* src/emacs-module.c: Ignore -Wcast-function-type.
2018-05-03 11:17:32 -07:00
Basil L. Contovounesios
f2c74543ed Fix off-by-one history pruning (bug#31211)
* lisp/subr.el (add-to-history): Clarify docstring.
Protect against negative history-length and unnecessary variable
modification, as per read_minibuf.

* lisp/ido.el (ido-record-command):
* lisp/international/mule-cmds.el (deactivate-input-method):
(set-language-environment-input-method):
* lisp/isearch.el (isearch-done):
* lisp/minibuffer.el (read-file-name-default):
* lisp/net/eww.el (eww-save-history):
* lisp/simple.el (edit-and-eval-command, repeat-complex-command):
(command-execute, kill-new, push-mark):
* src/callint.c (Fcall_interactively):
* src/minibuf.c (read_minibuf): Delegate to add-to-history.

* test/lisp/simple-tests.el (command-execute-prune-command-history):
* test/src/callint-tests.el
(call-interactively-prune-command-history): New tests.
2018-05-02 20:18:07 -04:00
Paul Eggert
65ac27783a Port --enable-gcc-warnings to GCC 8
Backport from master.
* lib-src/emacsclient.c (fail):
Do not dereference a null pointer.
* src/frame.c (delete_frame):
Add a decl with UNINIT to work around GCC bug 85563.
* src/menu.h (finish_menu_items):
Do not use attribute const.
* src/regex.c (analyze_first): Use FALLTHROUGH, not a comment.
2018-04-30 17:17:54 -07:00
Paul Eggert
8c3215e7a4 Port --enable-gcc-warnings to GCC 8
* configure.ac: Do not use GCC 8’s new -Wcast-align flag.
* lib-src/ebrowse.c (xmalloc):
* lib-src/emacsclient.c (xmalloc, xstrdup):
* lib-src/etags.c (xmalloc):
* lib-src/make-docfile.c (xmalloc):
* lib-src/movemail.c (xmalloc):
* src/dispnew.c (new_glyph_pool):
* src/regex.c (xmalloc):
* src/term.c (tty_menu_create):
* src/tparam.h (tparam):
Use ATTRIBUTE_MALLOC.  Also see GCC bug 85562.
* lib-src/emacsclient.c (fail):
Do not dereference a null pointer.
* src/frame.c (delete_frame):
Add a decl with UNINIT to work around GCC bug 85563.
* src/menu.h (finish_menu_items):
Do not use attribute const.
* src/regex.c (analyze_first): Use FALLTHROUGH, not a comment.
2018-04-28 16:56:48 -07:00
Eli Zaretskii
0b3bc05d15 * src/fns.c (Fstring_distance): Minor code reformatting. 2018-04-28 10:41:27 +03:00
Eli Zaretskii
a7a3918a16 Fix documentation and tests for 'string-distance'
* src/fns.c (Fstring_distance): Doc fix.

* doc/lispref/strings.texi (Text Comparison): Document
'string-distance'.

* etc/NEWS: Fix wording and mark as documented in the manuals.

* test/src/fns-tests.el (test-string-distance): Move from
subr-tests.el and rename.
2018-04-28 10:27:53 +03:00
Chen Bin
c6e6503900 New function 'string-distance'
* src/fns.c (Fstring_distance): New primitive.
(syms_of_fns): Defsubr it.

* test/lisp/subr-tests.el (subr-tests--string-distance): New test.

* etc/NEWS: Mention 'string-distance'.
2018-04-28 09:56:14 +03:00
Paul Eggert
a92e7b4ef6 Don’t set print-escape-newlines in the minibuffer
This appears to be an unnecessary and possibly-confusing
revenant from ancient code (Bug#31251).  See thread containing:
https://lists.gnu.org/r/emacs-devel/2018-04/msg00654.html
* src/minibuf.c (read_minibuf): Do not set print-escape-newlines.
* src/print.c (syms_of_print): Do not defsym print-escape-newlines
or print-escape-control-characters, as these symbols are not used
in C code.
2018-04-25 12:25:58 -07:00
Paul Eggert
1a6f595736 * src/minibuf.c (read_minibuf): Add a FIXME comment. 2018-04-24 15:50:17 -07:00
Eli Zaretskii
fa3136e071 Fix recent change in lread.c
* src/lread.c (openp): Avoid assertion violations in XCDR when
PATH is nil.  (Bug#31229)
2018-04-23 20:48:12 +03:00
Glenn Morris
2a8f8f7563 Merge from origin/emacs-26
5de608f (origin/emacs-26) Update the documentation of 'perform-replace'
06245b6 * etc/NEWS: Another fix for the last change (noted by Juri Li...
8f6293c Fix use of @key in Texinfo manuals
f4c9894 Improve documentation of actual arglist
ce0e253 ; * etc/NEWS: Improve last change as proposed by Phil Sainty
b89ff0e Don't assume term-current-row cache is valid (Bug#31193)
326a296 ; * etc/NEWS: Mention 'display-buffer-in-major-side-window' c...
3bdc9a1 Fix flyspell-auto-correct-previous-word broken by recent change
a539eb5 * test/src/lread-tests.el (lread-test-bug-31186): New test.
3fa472b Fix undefined behaviour while looking for lexical-binding fil...
4341aac Minor wording improvement in "Bookmarks"

Conflicts:
	test/src/lread-tests.el
2018-04-20 08:07:43 -07:00
Paul Eggert
3d3923b79f Tweak mark_object to avoid a conditional branch
* src/alloc.c (LAST_MARKED_SIZE): Now an enum.  Make it a power of 2.
(mark_object): Take advantage of the power of 2.
2018-04-18 13:15:26 -07:00
Paul Eggert
403f3d2c85 Tell user about read-integer-overflow-as-float
* src/lread.c (string_to_number): Suggest
read-integer-overflow-as-float in signal message.
Suggested by Stefan Monnier (Bug#31118#58).
2018-04-18 12:48:48 -07:00
Paul Eggert
5dff4905d7 Fix signal for large integers with valid syntax
* src/lread.c (read_integer): If a radixed integer has valid syntax
but is waayyy too large, signal overflow instead of invalid syntax.
* test/src/lread-tests.el (lread-long-hex-integer): New test.
2018-04-17 16:23:48 -07:00
Andreas Schwab
3fa472b487 Fix undefined behaviour while looking for lexical-binding file variable (bug 31186)
* src/lread.c (lisp_file_lexically_bound_p): Reset
beg_end_state before reading variable or value.
2018-04-17 11:43:14 +02:00
Philipp Stephani
9f2d21ca53 Avoid undefined behavior in 'defvar' (Bug#31072)
* src/eval.c (Fdefvar): Check that first argument is a symbol.
* test/src/eval-tests.el (defvar/bug31072): New unit test.
2018-04-15 23:50:06 -07:00
Lars Ingebrigtsen
7cbe9628d1 * src/lread.c (openp): Add a comment before the now-obscure loop. 2018-04-15 18:14:49 +02:00
Lars Ingebrigtsen
56c4ce266d Indent after transforming for loop into do/while 2018-04-14 21:55:39 +02:00
Lars Ingebrigtsen
f939cd0255 Make call-process work if exec-path is nil
* src/lread.c (openp): If exec-path is nil, no files would be
found to execute (bug#30564).

Test cases:

 (let ((exec-path ()))
   (call-process "/bin/ls" nil (current-buffer)))

This would previously fail, but now works.

 (let ((exec-path '("/bin/")))
   (call-process "ls" nil (current-buffer)))

This worked, and still works.
2018-04-14 21:55:08 +02:00
Lars Ingebrigtsen
369cb30d8c (libxml-parse-html-region): Make DISCARD-COMMENTS obsolete
* lisp/subr.el (libxml-parse-xml-region)
(libxml-parse-html-region): Make DISCARD-COMMENTS obsolete.

* src/xml.c (Flibxml_parse_html_region)
(Flibxml_parse_xml_region): Don't mention DISCARD-COMMENTS, since
it's now no longer part of the advertised signature (bug#27178).
2018-04-14 19:06:51 +02:00
Lars Ingebrigtsen
e20d7381ee Make DISCARD-COMMENTS in `libxml-parse-{html,xml}-region' obsolete
* doc/lispref/text.texi (Parsing HTML/XML): Mention that
discard-comments is obsolete.

* lisp/xml.el (xml-remove-comments): New function (bug#27178).

* src/xml.c (Flibxml_parse_html_region): Clarify what
DISCARD-COMMENTS actually does, and say that the parameter is
obsolete.
(Flibxml_parse_xml_region): Ditto.
2018-04-14 17:14:01 +02:00
Glenn Morris
db71b31827 Merge from origin/emacs-26
5a6bb01 (origin/emacs-26) Fix building etc/DOC in the MSDOS port
274c979 * lisp/select.el (gui-get-selection): Doc fix.
ad731b0 ; * doc/lispref/display.texi (Temporary Displays): Fix typos.
f1450e9 Complete documentation of syntax flags by adding `c'
6bdcaec Fix typos and minor wording issues in ELisp manual
febac27 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
6c2e21e Avoid segfault in processes of type 'pipe'
60e10c5 Remove repetitions in documentation strings
208e752 * lisp/image.el (image-load-path): Doc fix.
92e0fd8 ; * etc/NEWS: Remove a FIXME.  (Bug#31122)

Conflicts:
	etc/NEWS
2018-04-14 07:50:45 -07:00
Eli Zaretskii
6c2e21e1ca Avoid segfault in processes of type 'pipe'
* src/process.c (Fmake_pipe_process): Set up the decoding and
encoding buffers.  For the details, see
http://lists.gnu.org/archive/html/emacs-devel/2018-04/msg00295.html.
2018-04-13 15:48:04 +03:00
Glenn Morris
587f12281a Merge from origin/emacs-26
c267421 (tag: emacs-26.1-rc1, origin/emacs-26) ; * ChangeLog.3: Update.
aa77415 * etc/AUTHORS: Regenerate.
c8ffca5 * lisp/files.el (kept-new-versions): Improve documentation st...
3a798f6 Fix a minor mistake in the ELisp manual
6afa868 ; * src/dispextern.h (struct it): Fix a typo in a comment.
5659b2f * lisp/files.el (find-file-literally): Doc fix.
9b24a79 Fix typos in doc strings
2018-04-10 07:50:48 -07:00
Philipp Stephani
8df23a8204 Document that 'make-process' mixes the output streams
* doc/lispref/processes.texi (Asynchronous Processes):
* src/process.c (Fmake_process): Document that standard error is mixed
with standard output if STDERR is nil.

* test/src/process-tests.el (make-process/mix-stderr): New unit test.
2018-04-07 22:15:42 +02:00