| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
Change with-suppressed-warnings so it also affects the macro-expansion of
the body.
|
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/autoload.el (update-directory-autoloads): Use
progress reporter so say what percentage the progress is at.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A single `cond' form can how be compiled to any number of switch ops,
optionally interspersed with non-switch conditions.
Previously, switch ops would only be used for whole `cond' forms
containing no other tests.
* lisp/emacs-lisp/bytecomp.el (byte-compile--cond-vars):
Rename from `byte-compile-cond-vars'.
(byte-compile--default-val): Remove.
(byte-compile--cond-switch-prefix):
Replace `byte-compile-cond-jump-table-info'; now also returns
trailing non-switch clauses.
(byte-compile-cond-jump-table): New arguments; no longer compiles
the default case.
(byte-compile-cond): Look for and compile switches at any place in the
list of clauses.
* test/lisp/emacs-lisp/bytecomp-tests.el (byte-opt-testsuite-arith-data):
Add test expression.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Allow any mixture of `eq', `eql' and `equal', `memq', `memql' and
`member' in a switch-like `cond' to be compiled into a single switch.
* lisp/emacs-lisp/bytecomp.el (byte-compile--common-test): New.
(byte-compile-cond-jump-table-info): Use most specific common test.
* test/lisp/emacs-lisp/bytecomp-tests.el (byte-opt-testsuite-arith-data):
Add test cases for multi-value clause cond forms.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/pcase.el (pcase--u1):
Use the most specific of `memq', `memql' and `member' in or-patterns
with constant cases. This improves performance and may help the byte-code
compiler generate a switch.
* test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-member):
Add mixed-type or-pattern test cases.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table-info):
Expand `memq', `memql' and `member' to their corresponding
equality tests.
(byte-compile-cond-jump-table): Cases now have multiple values.
* lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1)
(byte-optimize-lapcode): Don't assume switch hash tables to be injective.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* lisp/cus-dep.el (custom-make-dependencies): Rewrite to use
reporter to report progress instead of how many files we've
processed.
* lisp/emacs-lisp/byte-run.el (byte-compile-info-string): New function.
(byte-compile-info-message): Use it.
|
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/byte-run.el (byte-compile-info-message): Clean
up implementation.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/byte-run.el (byte-compile-info-message): New
function to outout informational messages during byte compilation.
* lisp/emacs-lisp/autoload.el (update-directory-autoloads): Use it
to report progress when scraping autoloads during bootstrap (which
may take half a minute).
|
| |
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/eieio-base.el (eieio-object-set-name-string):
Move the generic definition of this method to here from eieio.el
and place it after the cl-method definition. This avoids a
warning about it being obsolete when doing macro expansion.
|
| |
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/eieio.el (object-print): Move method definition
to before generic definition because the generic definition
obsoletes the method, which will then output a warning from when
macroexpanding.
|
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/eieio-core.el (eieio-declare-slots): Change into
a compile-only macro.
|
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/eieio-core.el (eieio-declare-slots): New
function to suppress compiler warnings about unknown slots.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* lisp/cedet/ede/base.el (ede-target): Inherit from eieio-named so
that if you're customizing objects via eieio-object-value-get, you
can set the name.
* lisp/emacs-lisp/eieio-custom.el (eieio-object-value-get): Don't
use obsolete function `eieio-object-set-name-string'.
|
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/eieio.el (obsolete): Suppress warning about
object-print being obsolete, because there are no in-tree
definitions any more.
|
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/bytecomp.el (byte-compile-function-warn): Check
whether we want the `obsolete' warning before issuing it.
|
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/eieio.el (cl-print-object): Suppress the warning
about object-print being obsolete, since there are no in-tree
methods like that any more.
|
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Pass the symbol
name on to `byte-compile-warning-enabled-p' to make
with-suppressed-warnings work in cl-defmethods, too.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* lisp/cedet/semantic/db-el.el (object-print): Ditto.
(object-print): Ditto.
* lisp/cedet/semantic/db-global.el (object-print): Ditto.
* lisp/cedet/semantic/db.el (object-print): Remove; unused.
* lisp/cedet/semantic/db.el (semanticdb-debug-info): New method.
(object-print): Rewritten to be cl-print-object.
* lisp/emacs-lisp/eieio.el (eieio-object-name): Allow the EXTRA
argument to be a list of strings.
|
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/bytecomp.el (emacs-lisp-compilation-mode):
Doc fix.
(byte-recompile-directory): Use emacs-lisp-compilation-mode.
|
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/bytecomp.el (byte-compile-print-syms):
Use fill-column from the compile log buffer.
|
| |
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/warnings.el (warning-fill-column): New variable.
(display-warning): Use warning-fill-column.
* doc/lispref/display.texi (Warning Variables):
Mention warning-fill-column.
|
| |
| |
| |
| | |
Move it to those places where we know gv has been loaded.
|
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/eieio-opt.el (cl-extra): Add comment about why
we're not requiring cl-lib.
|
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/cl-generic.el (gv-setter): Declare to avoid a
compilation warning.
|
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/eieio-base.el (clone): Use eieio-object-class
instead of obsolete function class-of.
|
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/eieio-opt.el (cl-extra): Require for
cl--describe-class.
|
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): Don't
use obsolete function eieio-help-class.
|
| |
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/eieio-custom.el
(eieio-read-customization-group): Slot `name' may not exist in all
classes, so protect against that (and avoid a compilation warning
about it).
|
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/bindat.el (bindat--unpack-item): Avoid a byte
compilation warning by using unibyte-string instead of concat +
string-make-unibyte.
|
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/byte-run.el (macro-declaration-function): Avoid
compilation warning by not using `symbol-function'.
|
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/eieio-core.el (eieio--slot-name-index): Remove
comment about issuing a byte compilation warning about accessing
slots via :initarg -- it was implemented a few months later.
|
| |
| |
| |
| |
| | |
* timer-list.el (list-timers): Bind `print-escape-newlines' to avoid
newlines in printed representation (bug#36187).
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/disass.el (disassemble-1): Remove a
string-as-unibyte that probably doesn't do anything, because the
string in question should be unibyte anyway. If the assert fails,
revert the patch.
|
| |
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/byte-run.el (macro-declaration-function):
Revert change that causes a bootstrap failure.
; Ref eg https://hydra.nixos.org/build/94678649
|
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/byte-run.el (macro-declaration-function):
Suppress warning about obsolete function used by obsolete variable.
|
| |
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/lisp.el (beginning-of-defun-raw):
font-lock-compile-keywords also suppresses warnings about the
obsolete syntax-begin-function variable, so suppress the only
other use not in syntax.el.
|
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/float-sup.el (pi): Suppress warning about this
obsolete variable not having a prefix.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/byte-run.el (with-suppressed-warnings): New macro.
* doc/lispref/compile.texi (Compiler Errors): Document
with-suppressed-warnings and deemphasise with-no-warnings
slightly.
* lisp/emacs-lisp/bytecomp.el (byte-compile--suppressed-warnings):
New internal variable.
(byte-compile-warning-enabled-p): Heed
byte-compile--suppressed-warnings, bound via with-suppressed-warnings.
(byte-compile-initial-macro-environment): Provide a macro
expansion of with-suppressed-warnings.
(byte-compile-file-form-with-suppressed-warnings): New byte hunk
handler for the suppressed symbol machinery.
(byte-compile-suppressed-warnings): Ditto for the byteop.
(byte-compile-file-form-defmumble): Ditto.
(byte-compile-form, byte-compile-normal-call)
(byte-compile-normal-call, byte-compile-variable-ref)
(byte-compile-set-default, byte-compile-variable-set)
(byte-compile-function-form, byte-compile-set-default)
(byte-compile-warn-obsolete, byte-compile--declare-var): Pass the
symbol being warned in to byte-compile-warning-enabled-p.
* test/lisp/emacs-lisp/bytecomp-tests.el (test-suppression): New
function.
(bytecomp-test--with-suppressed-warnings): Tests.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Restore lost
let-binding of lread--unescaped-character-literals, so that unescaped
literals warning will only apply to the form just read.
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-tests--unescaped-char-literals): Expand test to check that
we don't keep warning about old unescaped literals.
|
| |
| |
| |
| |
| | |
* lisp/password-cache.el: Use lexical-binding.
* test/lisp/password-cache-tests.el: New file.
|
|\|
| |
| |
| | |
2860285 Allow macros autoloaded as functions during bytecomp (Bug#36022)
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/bytecomp.el (byte-compile-callargs-warn): Don't pass
symbols which don't have a known definition to
byte-compile--function-signature, it fails to compile code which
previously compiled successfully (for example, gnus.el until
2019-06-01 "* lisp/gnus/gnus.el: Mark autoloaded macros as such" which
autoloads some macros as if they were functions).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
`url-insert-file-contents` saves in buffer-file-coding-system
the coding-system used to decode the contents. Preserve this
as the contents is moved from buffer to string to buffer, and use
it when saving the contents to file, so as to try and better preserve
the original byte sequence.
(package--buffer-string, package--cs): New functions.
(package--check-signature): Encode `string` if a coding-system
was specified in buffer-file-coding-system.
(package--download-one-archive, package-install-from-archive):
Obey and preserve the buffer-file-coding-system if specified.
Do not merge.
|
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/syntax.el (syntax-propertize): Use (syntax-table)
instead of syntax-ppss-table when the latter is nil.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
`syntax-ppss` uses `syntax-ppss-table` while parsing the buffer as well
as when it calls `syntax-propertize`, but `syntax-propertize` can also
be called directly rather than via `syntax-ppss` so it needs to explicitly
use `syntax-ppss-table` as well in order to avoid using sometimes one
table and sometimes another.
(syntax-ppss-table): Move before new use.
(syntax-propertize): Use it.
|
| |
| |
| |
| |
| | |
Get rid of references to the free variables of `body` once the thunk has
been forced (bug#30626).
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* doc/lispintro/emacs-lisp-intro.texi (Digression into C):
Adjust to match current C code.
* lisp/emacs-lisp/ert.el (ert--force-message-log-buffer-truncation):
Simplify.
* src/.gdbinit (Lisp_Object_Printer.to_string): Return
a string that says "make_fixnum", not "make_number".
|
| |
| |
| |
| | |
* lisp/emacs-lisp/cl-seq.el (cl-assoc): Use assq for fixnums.
|