| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lisp/emacs-lisp/rx.el (rx-regexp): Allow non-string forms.
(rx-constituents): Add literal constituent, which is like a plain
STRING form, but allows arbitrary lisp expressions.
(rx-literal): New function.
(rx-compile-to-lisp): New variable.
(rx--subforms): New helper function for handling subforms, including
non-constant case.
(rx-group-if, rx-and, rx-or, rx-=, rx->=, rx-repeat, rx-submatch)
(rx-submatch-n, rx-kleene, rx-atomic-p): Use it to handle non-constant
subforms.
(rx): Document new form, wrap non-constant forms with concat call.
* test/lisp/emacs-lisp/rx-tests.el (rx-tests--match): New macro.
(rx-nonstring-expr, rx-nonstring-expr-non-greedy): New tests.
* etc/NEWS: Announce changes.
|
| |
|
|
|
|
|
|
|
| |
* doc/emacs/buffers.texi (Several Buffers): Document it.
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode-map):
Move widen/narrow to `}' and `{'.
|
|
|
|
|
| |
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
Preserve header line set by derived modes (bug#21025).
|
|
|
|
|
|
|
| |
* lisp/emacs-list/package.el
(package--imenu-prev-index-position-function
package--imenu-extract-index-name-function): Add Imenu functions
to package-menu-mode (bug#27134).
|
|
|
|
|
| |
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode-map):
Actually use `w'/`c' as described in previous patch.
|
|
|
|
|
|
|
|
|
|
|
| |
* doc/emacs/buffers.texi: Document widen/contracting commands in
tabulated list mode.
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode-map): Add
keystrokes.
(tabulated-list-widen-current-column): New command.
(tabulated-list-narrow-current-column): Ditto. The code was
written by Boruch Baum and then tweaked by Drew Adams (bug#32106)
before some white-space changes before the commit.
|
|
|
|
|
|
|
| |
* doc/lispref/syntax.texi (Parser State): Document it.
* lisp/emacs-lisp/syntax.el (syntax-ppss-context): Add a doc
string (bug#32504).
|
|
|
|
|
| |
* lisp/emacs-lisp/subr-x.el (if-let): Clarify that if-let is like
let*, not like let (bug#33550).
|
|
|
|
| |
* lisp/emacs-lisp/rx.el (rx-submatch): Type and range check (Bug#34373).
|
|
|
|
|
| |
* lisp/emacs-lisp/byte-run.el (with-suppressed-warnings): Bind
byte-compile--suppressed-warnings when possible.
|
|
|
|
|
|
|
|
|
|
|
|
| |
See bug#11649 for an example problem, and emacs-devel discussion
«Prickliness of the "invalid byte code" stuff».
* lisp/wid-edit.el, lisp/wdired.el, lisp/vc/pcvs-util.el:
* lisp/progmodes/executable.el, lisp/mail/sendmail.el:
* lisp/emacs-lisp/cl-seq.el, lisp/emacs-lisp/cl-macs.el:
* lisp/emacs-lisp/cl-lib.el, lisp/emacs-lisp/cl-extra.el:
* lisp/dired-x.el, lisp/dired-aux.el, lisp/calendar/calendar.el:
Don't use byte-compile-dynamic any more.
|
|
|
|
| |
* lisp/emacs-lisp/eieio-custom.el: Remove commented out code.
|
|
|
|
|
| |
* lisp/emacs-lisp/checkdoc.el (checkdoc-minor-mode-map): Remove
XEmacs compat code.
|
|
|
|
|
|
|
| |
* lisp/emacs-lisp/eieio.el (object-print):
* lisp/emacs-lisp/eieio-base.el (eieio-object-set-name-string):
Move the defgeneric before the defmethod, because that makes more
sense.
|
|
|
|
|
|
| |
* 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.
|