1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00
Commit graph

142066 commits

Author SHA1 Message Date
Andrea Corallo
2ee2fb5a86 * Prune now unnecessary byte-code objects
* lisp/emacs-lisp/comp.el (comp-finalize-container): Prune
	byte-code that was lambdas.
	(comp-compile-ctxt-to-file): Remove fixme.
2020-05-14 21:50:32 +01:00
Andrea Corallo
c12831a6b6 * Rework comp-spill-lap-function
* lisp/emacs-lisp/comp.el (comp-spill-lap-function): Move code
	from to comp-intern-func-in-ctxt.
	(comp-intern-func-in-ctxt): New function, this guard
	in case byte-to-native-lambda-byte-func is nil.
2020-05-14 21:50:32 +01:00
Andrea Corallo
392a6f9bab * Split emit_const_lisp_obj logic
* src/comp.c (emit_lisp_obj_reloc_lval): New function.
	(emit_const_lisp_obj): Rename into 'emit_lisp_obj_rval' and strip
	logic for 'emit_lisp_obj_reloc_lval'.
	(emit_NILP, emit_CHECK_CONS, emit_mvar_rval, emit_set_internal)
	(define_CAR_CDR, define_bool_to_lisp_obj): Update for
	'emit_const_lisp_obj' being renamed.
2020-05-14 21:50:32 +01:00
Andrea Corallo
acf7e129ea * Rename emit_mvar_access -> emit_mvar_lval
* src/comp.c (emit_mvar_access): Rename into 'emit_mvar_lval'.
	(emit_mvar_rval, emit_frame_assignment): Update for
	'emit_mvar_access' rename.
2020-05-14 21:50:32 +01:00
Andrea Corallo
5bf685f17c * Rename emit_mvar_val -> emit_mvar_rval
* src/comp.c (emit_mvar_val): Rename into 'emit_mvar_rval'.
	(emit_set_internal, emit_simple_limple_call, emit_limple_insn)
	(emit_call_with_type_hint, emit_call2_with_type_hint)
	(emit_consp, emit_numperp, emit_integerp): Update for
	'emit_mvar_val' rename.
2020-05-14 21:50:31 +01:00
Andrea Corallo
3ab6a75667 * Indentation fix
* src/comp.c (Fcomp__init_ctxt, Fcomp__release_ctxt)
	(Fcomp__compile_ctxt_to_file, Fcomp__register_subr): Indentation
	fix.
2020-05-14 21:50:31 +01:00
Andrea Corallo
a335f7eeac Update spill LAP machinery and compile anonymous lambdas
* lisp/emacs-lisp/comp.el (comp-spill-lap-function): Make use of
	byte-to-native-lambdas-h and update for 'byte-to-native-func-def'.
	(comp-spill-lap-function): Rework logic to retrive LAP using
	'byte-to-native-lambdas-h'.
	(comp-emit-for-top-level): Update for 'byte-to-native-function'.

	* lisp/emacs-lisp/bytecomp.el: Add commentary on new spill LAP
	mechanism.
	(byte-to-native-lambda, byte-to-native-func-def): New structures.
	(byte-to-native-top-level): Indent.
	(byte-to-native-lambdas-h): Update doc.
	(byte-compile-lapcode): Add a 'byte-to-native-lambda' instance
	into byte-to-native-lambdas-h instead of just LAP.
	(byte-compile-file-form-defmumble): Store into
	'byte-to-native-func-def' only the byte compiled function, the LAP
	will be retrived through 'byte-to-native-lambdas-h'.
	(byte-compile-lambda): Return the byte compiled function.
2020-05-14 21:50:31 +01:00
Andrea Corallo
28df049b8d * test/src/comp-tests.el (comp-tests-bootstrap): Fix test. 2020-05-14 07:14:27 +01:00
Andrea Corallo
3bcb79fdcd Merge remote-tracking branch 'savannah/master' into HEAD 2020-05-14 07:14:23 +01:00
Stefan Kangas
a4671733b7 ; Fix warning after last change in cal-julian.el
* lisp/calendar/cal-julian.el (diary-julian-date)
(diary-astro-day-number): Silence byte-compiler warning about variable
'declared after its first use'.
2020-05-14 01:30:36 +02:00
Michael Albinus
f8a9edce73 Fix some oddities, uncovered by Tramp tests
* lisp/net/tramp-gvfs.el (tramp-gvfs-enabled): Prevent crash for
older Emacsen.

* lisp/net/tramp.el (tramp-process-running-p): Simplify.

* test/lisp/net/tramp-tests.el (tramp-test28-process-file): Adapt test.
(tramp-test33-environment-variables): Unset "INSIDE_EMACS" initially.
2020-05-13 14:11:18 +02:00
João Távora
9ebf51999c Turn Eldoc, Xref and Project into GNU ELPA :core packages
The new packages state they require Emacs 26.3 to function, but a
small part of project.el breaks this "soft" rule: the two functions
requiring fileloop.el are incompatible with Emacs 26.3.

* lisp/jsonrpc.el: Tweak comment near Package-Requires.

* lisp/emacs-lisp/eldoc.el: Add Version and Package-Requires.

* lisp/progmodes/flymake.el: Add comment near Package-Requires.

* lisp/progmodes/project.el: Add Version and Package-Requires.

* lisp/progmodes/xref.el: Add Version and Package-Requires.
2020-05-13 11:31:35 +01:00
Stefan Kangas
ac298baa0e Use lexical-binding in t-mouse.el
* lisp/t-mouse.el: Use lexical-binding.
2020-05-13 12:13:52 +02:00
Basil L. Contovounesios
41e6682eb6 ; Fix warning in last change
* lisp/play/animate.el (animate-place-char): Silence 'unused lexical
variable' warning.
2020-05-13 03:03:17 +01:00
Stefan Kangas
e420910eb6 Use lexical-binding in animate.el and add tests
* lisp/play/animate.el: Use lexical-binding.
* test/lisp/play/animate-tests.el: New file.
2020-05-13 02:06:03 +02:00
Stefan Kangas
60c9a53429 Use lexical-binding in dissociate.el and add tests
* lisp/play/dissociate.el: Use lexical-binding.
* test/lisp/play/dissociate-tests.el: New file.
2020-05-13 02:05:18 +02:00
Stefan Kangas
cf45349589 Use lexical-binding in cal-julian.el and add tests
* lisp/calendar/cal-julian.el: Use lexical-binding.
* test/lisp/calendar/cal-julian-tests.el: New file.
2020-05-13 01:34:22 +02:00
Paul Eggert
a87cd10935 Use proper digraphs in Bahá’í month names
* lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
There doesn’t seem to be any disagreement in the sources I
consulted that “Mas͟híyyat” and “S͟haraf” both need an “s͟h” digraph
instead of plain “sh”.
2020-05-12 15:20:23 -07:00
Stefan Monnier
45fa5e9724 * lisp/emacs-lisp/syntax.el: Fix bug#41195
Allow use of `syntax-ppss-flush-cache` in `syntax-propertize-function`.

(syntax-propertize--inhibit-flush): New var.
(syntax-propertize): Bind it.
(syntax-ppss-flush-cache): Test it.
2020-05-12 16:52:11 -04:00
Michael Heerdegen
3b170f04f4 Revert "Inhibit modification hooks when saving eieio-persistent's"
This reverts commit c59e878439.
2020-05-12 21:06:22 +02:00
Stefan Kangas
e6837016b0 Support sorting timer-list-mode by column (Bug#40854)
* lisp/emacs-lisp/timer-list.el (timer-list-mode)
(timer-list--idle-predicate, timer-list--next-predicate)
(timer-list--repeat-predicate)
(timer-list--function-predicate): Add support for sorting by column.
2020-05-12 19:10:20 +02:00
Stefan Kangas
ee5c5daad5 Base timer-list-mode on tabulated-list-mode (Bug#40854)
* lisp/emacs-lisp/timer-list.el (list-timers)
(timer-list-mode): Inherit from 'tabulated-list-mode' instead of
'special-mode' and make the necessary changes to support that.

* doc/lispref/os.texi (Timers): Update documentation.
2020-05-12 19:10:03 +02:00
Glenn Morris
a2792ad54c Suppress test failure on hydra.nixos.org
* test/lisp/net/tramp-tests.el (tramp-test28-process-file):
Attempt to suppress hydra oddity.
2020-05-12 09:34:46 -07:00
Paul Eggert
4645430b92 Pacify GCC 10.1.0
Pacify GCC 10.1.0 so that it does not issue false alarms
when Emacs is configured with --enable-gcc-warnings.
* src/dispnew.c (clear_glyph_row):
* src/fns.c (hash_clear):
* src/keyboard.c (append_tab_bar_item):
* src/lisp.h (vcopy):
* src/xfaces.c (get_lface_attributes_no_remap)
(Finternal_copy_lisp_face, realize_default_face):
* src/xmenu.c (set_frame_menubar):
Work around -Warray-bounds false alarm in GCC 10.1.0.
* src/intervals.c (copy_properties):
Avoid -Wnull-dereference false alarm in GCC 10.1.0.
* src/lisp.h (xvector_contents_addr, xvector_contents):
New functions, useful for working around GCC bug 95072.
2020-05-11 17:54:24 -07:00
Paul Eggert
00f0ad55cd Update from gnulib
This incorporates:
2020-05-11 careadlinkat: fix GCC 10 workaround
2020-05-10 careadlinkat: limit GCC workaround
2020-05-10 attribute: clarify list of attributes
2020-05-10 string: fix compilation error in C++ mode
2020-05-09 manywarnings: port to GCC 10.1
2020-05-09 careadlinkat: pacify -Wreturn-local-addr
2020-05-09 attribute: remove ATTRIBUTE_DEPRECATED
2020-05-09 attribute: Add comments
* lib/attribute.h, lib/careadlinkat.c, lib/string.in.h:
* lib/warn-on-use.h, m4/manywarnings.m4: Copy from Gnulib.
2020-05-11 17:54:23 -07:00
Alan Mackenzie
dd0b910f1a Fix bug #40992 whilst still allowing breakpoint highlights in edebug
Strategy: when an instrumented function gets re-evaluated, save the former
value of its symbol's `edebug' property in the new propery `ghost-edebug'.  If
this function is still being edebugged, edebug will then access its info from
this new property.

Also fix the bug whereby compile-defun'ing an instrumented function prevents
the function being re-instrumented by I (edebug-instrument-callee).

* lisp/emacs-lisp/edebug.el (edebug-get-edebug-or-ghost): New function.
(edebug-read-and-maybe-wrap-form1): save value of `edebug' property in
'ghost-edebug'.
(edebug-make-form-wrapper): Set value of `ghost-edebug' to nil.
(edebug-make-form-wrapper, edebug-find-stop-point, edebug-next-break-point)
(edebug-modify-breakpoint, edebug--overlay-breakpoints, edebug-set-breakpoint)
(edebug-unset-breakpoints, edebug-toggle-disable-breakpoint)
(edebug--backtrace-goto-source, edebug-display-freq-count)
(edebug-set-conditional-breakpoint): Use edebug-get-edebug-or-ghost to access
edebug information.
(edebug-instrument-function): Also check a function is a cons before declaring
it "already instrumented".
2020-05-11 20:05:54 +00:00
Stefan Monnier
a69ef94e22 * lisp/emacs-lisp/pcase.el (pcase--fgrep): Look inside vectors 2020-05-11 09:53:37 -04:00
Basil L. Contovounesios
703115829b ; Fix last change to bibtex.el
* lisp/textmodes/bibtex.el
(bibtex-autokey-before-presentation-function): Bump :version tag now
that nil is no longer a valid value.
2020-05-11 11:43:29 +01:00
Stefan Monnier
6bcf7912aa * lisp/textmodes/bibtex.el: Avoid eval
In the top-level construction of the entry-type commands,
use `defalias` instead of (eval `(defun ...)).

(bibtex-insert-kill): Strength reduce `eval` => `symbol-value`.
(bibtex-autokey-before-presentation-function): Avoid nil value.
2020-05-11 00:30:10 -04:00
Stefan Monnier
68b34c6631 * lisp/subr.el (dolist, dotimes, combine-change-calls): Cosmetic tweaks
(dolist, dotimes): Adjust comment since testing
`lexical-binding` is supposed to be reliable.
(combine-change-calls): Add debug and indent specs.
2020-05-11 00:18:14 -04:00
Stefan Monnier
5601eb231f * lisp/emacs-lisp/syntax.el (syntax-propertize): Use run-hook-wrapped
This way we avoid making assumptions about the content of
syntax-propertize-extend-region-functions
2020-05-11 00:15:15 -04:00
Stefan Monnier
67bcde188f * lisp/ielm.el: Handle corner case where */**/*** are not yet bound
Remote redundant :group args.

(ielm-eval-input): Use bound-and-true-p for */**/***
2020-05-11 00:12:29 -04:00
Dmitry Gutov
c9d7253dd1 Map "mail/compose" icon to "mail-message-new" in GTK
* lisp/term/x-win.el (x-gtk-stock-map): One more icon mapping.
2020-05-11 05:13:25 +03:00
Dmitry Gutov
f8da04d6fa Use the "modern" toolbars in Gnus again
* lisp/gnus/gmm-utils.el (gmm-tool-bar-style):
Undo the breakage from commit d88118db37
(https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg02094.html).
2020-05-11 04:34:55 +03:00
Dmitry Gutov
b97877470d Use better icons on GTK in message-mode and isearch
* lisp/gnus/message.el (message-tool-bar-retro):
Use non-Gnus-specific icon.

* lisp/term/x-win.el (x-gtk-stock-map):
Use more themed icons (bug#40990).
2020-05-11 04:25:53 +03:00
Stefan Monnier
a218c98615 * lisp/emacs-lisp/pcase.el: Don't bind unused vars in branches
(pcase--fgrep): Change calling convention to take bindings rather than
just variables.
(pcase--funcall, pcase--eval): Adjust to this new calling convention.
(pcase--expand): Use `pcase--fgrep` to bind only the vars that are used.
2020-05-10 19:07:45 -04:00
Stefan Monnier
7f7a8fbfd7 * lisp/emacs-lisp/eieio.el (eieio pcase macro): Fix last-minute typo 2020-05-10 16:17:16 -04:00
Tassilo Horn
5a31b1afca Prefer function-put over put for setting browse-url-browser-kind.
* lisp/net/browse-url.el: Prefer `function-put' over `put' for setting
`browse-url-browser-kind' symbol property.
2020-05-10 20:41:42 +02:00
Stefan Monnier
0bb9aeddd6 * lisp/emacs-lisp/eieio.el (eieio pcase macro): Remove unused var is 2020-05-10 13:51:51 -04:00
Simen Heggestøyl
8f808be68b Use lexical-binding in glasses.el and add tests
* lisp/progmodes/glasses.el: Use lexical-binding.
(glasses-separator, glasses-original-separator, glasses-face)
(glasses-separate-parentheses-p)
(glasses-separate-parentheses-exceptions)
(glasses-separate-capital-groups, glasses-uncapitalize-p)
(glasses-uncapitalize-regexp, glasses-convert-on-write-p): Remove
redundant :group args.

* test/lisp/progmodes/glasses-tests.el: New file with tests for
glasses.el.
2020-05-10 17:18:03 +02:00
Simen Heggestøyl
1efaa1d66b Allow underscores in CSS variable names
* lisp/textmodes/css-mode.el (css-nmchar-re): Allow underscores in
variable names (and in identifiers in general).

* test/manual/indent/css-mode.css: Add some examples of variable names
with underscores in them.

* test/manual/indent/less-css-mode.less: Add some examples of variable
names with underscores in them.

* test/manual/indent/scss-mode.scss: Add some examples of variable
names with underscores in them.
2020-05-10 14:57:22 +02:00
Simen Heggestøyl
2df2f78711 Add containment module to CSS property list
* lisp/textmodes/css-mode.el (css-property-alist): Add new properties
from CSS Containment Module Level 1.
2020-05-10 14:55:20 +02:00
Simen Heggestøyl
b7682d2a26 Add writing modes module to CSS property list
* lisp/textmodes/css-mode.el (css-property-alist): Add new properties
from the CSS Writing Modes Level 3 module.
2020-05-10 14:55:11 +02:00
Andrea Corallo
9bc0a7c408 * Fix `comp-deferred-compilation-black-list' effectiveness
* lisp/emacs-lisp/comp.el (native-compile-async): Fix logic for
	'comp-deferred-compilation-black-list' effectiveness.
2020-05-10 09:34:21 +01:00
Andrea Corallo
49def706f3 * src/comp.c (load_comp_unit): Style fix. 2020-05-10 09:34:21 +01:00
Andrea Corallo
bc50c0c57e Merge remote-tracking branch 'savannah/master' into HEAD 2020-05-09 20:04:41 +01:00
Andrea Corallo
bd8be64ce3 * Fix --enable-check-lisp-object-type GNU/Linux X86_64 build
* src/comp.c (emit_mvar_val): Fix missing use of XLP macro.
	(load_comp_unit): Fix missing use of NILP macro.
2020-05-09 19:09:33 +01:00
Simen Heggestøyl
9d8fc3a598 Use lexical-binding in help-mode.el and add tests
* lisp/help-mode.el: Use lexical-binding.
(help-mode-map, help-mode-menu, help-mode-setup)
(help-mode-finish): Make spelling of "Help mode" consistent throughout
the doc strings (also making it consistent with the spelling of "Help
mode" used in the Elisp manual).
(help-do-xref): Re-indent to make the else-branch easier to see.

* test/lisp/help-mode-tests.el: New file with tests for help-mode.el.
2020-05-09 20:01:37 +02:00
Glenn Morris
94224c4add * src/xdisp.c (Fwindow_text_pixel_size): Fix previous merge. 2020-05-09 10:17:27 -07:00
Glenn Morris
5c890bfc19 Merge from origin/emacs-27
be0d1cac83 (origin/emacs-27) Small fix for type of 'display-fill-colu...
c5e5839776 Fix customization of 'display-fill-column-indicator-charac...
d5c184aa3e Refer to fill column indicator Info node in some places.
e13300ae50 Merge branch 'emacs-27' of git.sv.gnu.org:/srv/git/emacs i...
0bae57033f Fix GTK's Tool Bar menu radio buttons
4c98aa7ea5 Minor clarifications in NEWS
a1cbd05f38 Improve documentation of 'with-suppressed-warnings'.
4a895c1b26 Fix a typo in a comment
2caf3e997e Improve documentation of Hi Lock mode
7081c1d66f Fix typos in the Emacs user manual
0385771e2f Fix references to Speedbar in VHDL mode
a76cafea0d Fix handling of FROM = t and TO = t by 'window-text-pixel-...

# Conflicts:
#	etc/NEWS
#	src/xdisp.c
2020-05-09 10:03:21 -07:00