Commit graph

141376 commits

Author SHA1 Message Date
Zach Shaftel
bed4004fd3 Clean up before patch submission
* src/lisp.h (struct handler): Remove unused 'bytecode_offset' field,
which was added at some point while prototyping.

* src/bytecode.c (UPDATE_OFFSET): Subtract 1, so the offset is accurate.
2020-07-22 20:07:15 -04:00
Zach Shaftel
54b94af19d Only store offset when executing bytecode
* src/eval.c (record_in_backtrace): Use 'backtrace_top' instead of
'backtrace_next', and check that 'backtrace_byte_offset' > 0 before
calling it, so the specbinding stack isn't scanned just to store an
invalid offset.
2020-07-22 19:55:15 -04:00
Zach Shaftel
c0576f5acc Only print offset for byte-code functions
* lisp/emacs-lisp/backtrace.el (backtrace--print-flags): Check if the
function is compiled and only print the offset in that case.
2020-07-15 13:05:00 -04:00
rocky
9a36861ef6 Reduced bytecode offset update
This reduces bytecode-offset updates to happen only before a call.
2020-07-13 11:50:35 -04:00
Zach Shaftel
0cb1df1edd Store the bytecode offset in thread_state
* src/lisp.h:
* src/eval.c (backtrace_byte_offset): Remove global variable, and
put it...

* src/thread.h (thread_state): ...in here as
m_backtrace_byte_offset, and define backtrace_byte_offset as a
macro that points to it.

* src/bytecode.c (UPDATE_OFFSET): Move out of #ifdef
BYTE_CODE_THREADED.
2020-06-26 20:05:16 -04:00
Zach Shaftel
58e112fe18 Properly align offset in backtrace
* lisp/emacs-lisp/backtrace.el (backtrace--print-flags): Use format
width specifier to line up the flags and offset nicely.
2020-06-26 20:05:11 -04:00
rocky
afa6a9733e Merge feature/zach-soc-bytecode-in-traceback 2020-06-26 19:40:11 -04:00
Eli Zaretskii
acba19e247 ; * src/composite.c (syms_of_composite): Fix last change. 2020-06-02 20:46:26 +03:00
Eli Zaretskii
22b2e9c901 Fix Arabic composition rules
* lisp/language/misc-lang.el (composition-function-table): Reorder
Arabic composition rules in descending order of lookback.

* src/composite.c (syms_of_composite): Document the order of rules
in 'composition-function-table'.
2020-06-02 20:44:59 +03:00
Simen Heggestøyl
9afcf2bd39 Write project list to file only when changed
* lisp/progmodes/project.el (project--add-to-project-list-front):
Write the project list to file only when it has changed.
2020-06-02 19:27:55 +02:00
Simen Heggestøyl
e7065459d9 Remove 'project--ensure-file-exists'
* lisp/progmodes/project.el (project--ensure-file-exists): Remove.
(project--read-project-list): Set 'project--list' to nil when the
project list file doesn't exist.
2020-06-02 19:12:19 +02:00
Eli Zaretskii
7ddfbb98d2 Fix handling of CGJ in Hebrew text
* lisp/language/hebrew.el (hebrew): Add CGJ U+034F to the
combining characters supported in Hebrew compositions. (Bug#41645)
2020-06-02 18:42:09 +03:00
Paul Eggert
3973f68f59 Simplify and regularize some offset tests in alloc.c
* src/alloc.c (live_string_holding, live_cons_holding)
(live_symbol_holding, live_float_p): Simplify and regularize.
2020-06-01 22:42:01 -07:00
Paul Eggert
e10940f3f1 Merge from origin/emacs-27
0260d2d2db Don't call 'mbrtowc' on WINDOWSNT
2020-06-01 22:26:33 -07:00
Paul Eggert
8c3ed298a0 ; Merge from origin/emacs-27
The following commit was skipped:

fb90f46f47 ; Auto-commit of loaddefs files.
2020-06-01 22:26:33 -07:00
Paul Eggert
e10bd9e249 Merge from origin/emacs-27
44c0e074f7 * doc/emacs/buffers.texi (Icomplete): Mention icomplete-mi...
68b6dad1d8 Be more aggressive in marking objects during GC
36f508f589 ; * src/xdisp.c (find_last_unchanged_at_beg_row): Fix a typo.
cc340da1fe Fix bug #41618 "(byte-compile 'foo) errors when foo is a m...
41232e6797 Avoid crashes due to bidi cache being reset during redisplay
f72bb4ce36 * lisp/tab-bar.el (switch-to-buffer-other-tab): Normalize ...
d3e0023aaa ; * etc/TODO: Fix formatting.  (Bug#41497)
a8ad94cd2f Fix mingw.org's MinGW GCC 9 warning about 'execve'

# Conflicts:
#	lisp/tab-bar.el
#	nt/inc/ms-w32.h
#	src/alloc.c
2020-06-01 22:26:32 -07:00
Juri Linkov
2c1e5b9e77 * lisp/progmodes/project.el (project-vc-dir, project-shell): New commands.
(project-compile): Add args and interactive spec like in 'compile'.
(project-switch-commands): Bind project-vc-dir to "v",
project-shell to "s", and rebind project-find-regexp from "s" to "r".

* doc/emacs/maintaining.texi (Project File Commands):
Describe project-vc-dir and project-shell.
2020-06-02 02:01:25 +03:00
Eli Zaretskii
0260d2d2db Don't call 'mbrtowc' on WINDOWSNT
* src/emacs.c (using_utf8): Don't call 'mbrtowc' on WINDOWSNT
systems, as it's not available on Windows 9X.
2020-06-01 18:57:39 +03:00
Basil L. Contovounesios
6d6ec1bc1e ; Fix some recent byte-compilation warnings
For discussion of the autoloaded function declaration, see
https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg00910.html.

* lisp/dnd.el (dnd-handle-one-url): It is no longer necessary to
declare the autoloaded function browse-url-select-handler after
ldefs-boot.el was updated.
* lisp/progmodes/elisp-mode.el: Declare xref.el function to silence
byte-compiler.
2020-06-01 16:56:26 +01:00
Alan Mackenzie
1b6bd97440 Bug #41061 patch: Fix typos and amend code slightly
* lisp/progmodes/cc-align.el (c-lineup-ternary-bodies)
* doc/misc/cc-mode.texi (Operator Line-Up): Fix typos and amend code.
2020-06-01 15:21:54 +00:00
Glenn Morris
056200f3eb ; Auto-commit of loaddefs files. 2020-06-01 06:27:51 -07:00
Glenn Morris
fb90f46f47 ; Auto-commit of loaddefs files. 2020-06-01 06:11:55 -07:00
Dmitry Gutov
f929258646 Change xref-find-apropos to pass PATTERN to backend verbatim
* lisp/progmodes/xref.el (xref-backend-apropos): Rename this
generic's second arg to PATTERN, to clarify that it should be
handled entirely in the backend, with no pre-processing by the
command.
(xref-find-apropos): Update accordingly, but keep compatibility
with backends in older Emacs versions.
(xref-apropos-regexp): Extract from xref-find-apropos.

* lisp/progmodes/etags.el (xref-backend-apropos): Use it here.

* lisp/progmodes/elisp-mode.el (xref-backend-apropos): And here.
2020-06-01 05:28:43 +03:00
João Távora
44c0e074f7 * doc/emacs/buffers.texi (Icomplete): Mention icomplete-minibuffer-setup-hook. 2020-06-01 01:29:50 +01:00
Paul Eggert
68b6dad1d8 Be more aggressive in marking objects during GC
Simplified version of a patch from Pip Cet (Bug#41321#299).
* src/alloc.c (maybe_lisp_pointer): Remove.  All uses removed.
(mark_memory): Also look at the pointer offset by ‘lispsym’,
for symbols.
2020-05-31 16:30:54 -07:00
Philipp Stephani
43caa9680b Unbreak compilation with CHECK_STRUCTS defined.
* src/pdumper.c (dump_float): Update hash value after commit
9f7bfb6cb0.  The struct layout is still
compatible.
2020-05-31 19:50:04 +02:00
Eli Zaretskii
36f508f589 ; * src/xdisp.c (find_last_unchanged_at_beg_row): Fix a typo. 2020-05-31 20:34:00 +03:00
Alan Mackenzie
cc340da1fe Fix bug #41618 "(byte-compile 'foo) errors when foo is a macro."
* lisp/emacs-lisp/bytecomp.el (byte-compile): Disentangle the eval of the
final form from the pushing of 'macro onto it, doing the former first.
2020-05-31 16:46:06 +00:00
Tom Tromey
f56830acbf Remove mhtml--extend-font-lock-region (Bug#41441)
* lisp/textmodes/mhtml-mode.el (mhtml--extend-font-lock-region):
Remove.
(mhtml-mode): Don't set font-lock-extend-region-functions.
2020-05-31 10:21:38 -06:00
Eli Zaretskii
dc4db3ef09 Protect bidi cache from inadvertent resets
* src/xdisp.c (Fline_pixel_height, Fmove_point_visually): Save and
restore the bidi cache, to avoid inadvertently resetting it by
starting a new iteration through buffer text.  This could cause
trouble if these functions are called during a redisplay cycle,
especially while we were processing RTL text.
2020-05-31 17:34:09 +03:00
Eli Zaretskii
41232e6797 Avoid crashes due to bidi cache being reset during redisplay
If automatic character composition triggers GC, and
'garbage-collection-messages' are turned on, we could have the
bidi cache reset while processing RTL text, which would then
consistently crash.
* src/xdisp.c (display_echo_area_1): Protect the bidi cache
against changes inside 'try_window'.
2020-05-31 17:23:11 +03:00
Tino Calancha
abe7c22da9 occur: Add bindings for next-error-no-select
Make the navigation in the occur buffer closer
to the navigation in the compilation buffer.

Add bindings to navigate the occur matches (Bug#39121).
Honor `next-error-highlight' and `next-error-highlight-no-select'
when navigating the occurrences.

* lisp/replace.el (occur-highlight-regexp, occur-highlight-overlay):
New variables.
(occur-1): Set `occur-highlight-regexp' to the searched regexp.
(occur-goto-locus-delete-o, occur--highlight-occurrence): New defuns.
(occur-mode-display-occurrence, occur-mode-goto-occurrence):
Use `occur--highlight-occurrence'.
(occur-mode-map): Bind n to `next-error-no-select'
and p to `previous-error-no-select'

* etc/NEWS (Changes in Specialized Modes and Packages in Emacs 28.1):
Announce this change.

* test/lisp/replace-tests.el (replace-tests-with-highlighted-occurrence):
Add helper macro.
(occur-highlight-occurrence): Add test.
2020-05-31 12:31:27 +02:00
Juri Linkov
f72bb4ce36 * lisp/tab-bar.el (switch-to-buffer-other-tab): Normalize buffer.
* lisp/tab-bar.el (switch-to-buffer-other-tab): Use
'window-normalize-buffer-to-switch-to' on 'buffer-or-name',
like does 'pop-to-buffer' used by 'switch-to-buffer-other-frame',
instead of raising the error "Invalid buffer" on a non-existent buffer name.
2020-05-31 01:30:34 +03:00
Dmitry Gutov
780f674a82 Don't return transient projects with MAYBE-PROMPT=nil
* lisp/progmodes/project.el (project-current): Only return
transient projects when called with non-nil MAYBE-PROMPT.
Also only update the known projects lists in this case.
(https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg03375.html).
2020-05-30 19:57:38 +03:00
Eli Zaretskii
d3e0023aaa ; * etc/TODO: Fix formatting. (Bug#41497) 2020-05-30 19:10:14 +03:00
immerrr
3dbe6530b1 Minor fix in 'find-alternate-file'
This fixes the use case when, for example, 'find-file-hooks'
fails.
* lisp/files.el (find-alternate-file): If buffer 'oname' exists,
kill it before renaming the new one.  (Bug#41359)
2020-05-30 15:25:34 +03:00
Eli Zaretskii
360d7c716d Remove private prototype for 'execve' and its uses in MinGW build
* src/sysdep.c (emacs_exec_file): Don't compile this function
anymore on WINDOWSNT, since it is not used there.  This function
was the only reason for having 'execve' prototype in ms-w32.h.

* nt/inc/ms-w32.h (execve): Remove prototype and the MinGW64 vs
ming.org mess that it causes.
2020-05-30 13:56:20 +03:00
Eli Zaretskii
a8ad94cd2f Fix mingw.org's MinGW GCC 9 warning about 'execve'
* nt/inc/ms-w32.h (execve) [__GNUC__ > 9]: Provide a different
prototype for mingw.org's MinGW as well, to match the GCC builtin.
2020-05-30 13:19:13 +03:00
Eli Zaretskii
f42db4b6e1 Another fix of display of line-prefix with fringe bitmaps
* src/xdisp.c (redisplay_internal): Don't use "optimization 1"
if a glyph row from which to start display begins with a display
property that draws into the fringes.  (Bug#41584)
2020-05-29 23:02:10 +03:00
Stefan Monnier
187fe43108 * lisp/emacs-lisp/package.elm lisp/emacs-lisp/smie.el: Fix indent
Use the new "space after paren" convention to get the desired indentation
2020-05-29 15:01:58 -04:00
Dmitry Gutov
ba292ea330 project-prompt-project-dir: Use more consistent prompts
* lisp/progmodes/project.el (project-prompt-project-dir):
Use more consistent prompts.
2020-05-29 21:37:12 +03:00
Eli Zaretskii
dc15e70ddd Fix display of line-prefix with fringe bitmaps
* src/xdisp.c (try_window_id): Don't use this optimization if a
glyph row from which to start display begins with a display
property that draws into the fringes.  (Bug#41584)
2020-05-29 17:00:52 +03:00
Eli Zaretskii
c74e24eacd Commit indian.el forgotten in previous change. 2020-05-29 16:30:44 +03:00
Michael Albinus
9050f0f1bc * lisp/net/tramp-smb.el (tramp-smb-errors): Add "NT_STATUS_INVALID_PARAMETER". 2020-05-29 11:41:54 +02:00
akater
1b2a881c9b * lisp/emacs-lisp/lisp-mode.el: Add new indentation convention
(calculate-lisp-indent): To distinguish code and data when indenting,
introduce the convention that a space between an open paren and
a symbol indicate that this should be indented as a simple data list.
2020-05-29 00:26:09 -04:00
Arnold Noronha
df4991093b Create a buffer-local binding to improve performance
* lisp/ido.el (ido-make-buffer-list-1):
Create a buffer-local binding to improve performance when a lot of
buffers are open (bug#41029).

Copyright-paperwork-exempt: yes
2020-05-29 02:35:58 +03:00
Dmitry Gutov
7865820f6b next-error-find-buffer-function: Back to #'ignore
* lisp/simple.el (next-error-find-buffer-function):
Change the default back, to simplify the default behavior
(bug#40919).
2020-05-29 02:05:05 +03:00
Dmitry Gutov
7af4e72de2 ; project.el: Update TODO 2020-05-29 02:05:05 +03:00
James Thomas
7f692114cd Improve Malayalam language transliteration
The existing ITRANS scheme did not support some characters and
language quirks like 'chillu's.  The Inscript method had errors.
* lisp/language/ind-util.el (indian-mlm-base-table): Add archaic
chars, Mozhi combos; cleanup.
(indian-mlm-mozhi-table): New scheme Mozhi.
* lisp/leim/quail/indian.el (inscript-mlm-keytable): Correct
errors.  Add Inscript chillus & zero-width chars, Mozhi scheme.
* etc/NEWS: Mention the changes.
2020-05-28 20:29:56 +03:00
Simen Heggestøyl
d97f224fd0 Merge branch 'feature/project-switching' 2020-05-28 17:02:17 +02:00