Files
emacs/lisp
Paul Eggert f18af6cd5c Audit use of lsh and fix glitches
I audited use of lsh in the Lisp source code, and fixed the
glitches that I found.  While I was at it, I replaced uses of lsh
with ash when either will do.  Replacement is OK when either
argument is known to be nonnegative, or when only the low-order
bits of the result matter, and is a (minor) win since ash is a bit
more solid than lsh nowadays, and is a bit faster.
* lisp/calc/calc-ext.el (math-check-fixnum):
Prefer most-positive-fixnum to (lsh -1 -1).
* lisp/vc/vc-hg.el (vc-hg-state-fast): When testing fixnum width,
prefer (zerop (ash most-positive-fixnum -32)) to (zerop (lsh -1
32)) (Bug#32485#11).
* lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode):
Tighten sanity-check for bytecode overflow, by checking that the
result of (ash pc -8) is nonnegative.  Formerly this check was not
needed since lsh was used and the number overflowed differently.
* lisp/net/dns.el (dns-write): Fix some obvious sign typos in
shift counts.  Evidently this part of the code has never been
exercised.
* lisp/progmodes/hideif.el (hif-shiftleft, hif-shiftright):
* lisp/term/common-win.el (x-setup-function-keys):
Simplify.
* admin/unidata/unidata-gen.el, admin/unidata/uvs.el:
* doc/lispref/keymaps.texi, doc/lispref/syntax.texi:
* doc/misc/calc.texi, doc/misc/cl.texi, etc/NEWS.19:
* lisp/arc-mode.el, lisp/calc/calc-bin.el, lisp/calc/calc-comb.el:
* lisp/calc/calc-ext.el, lisp/calc/calc-math.el:
* lisp/cedet/semantic/wisent/comp.el, lisp/composite.el:
* lisp/disp-table.el, lisp/dos-fns.el, lisp/edmacro.el:
* lisp/emacs-lisp/bindat.el, lisp/emacs-lisp/byte-opt.el:
* lisp/emacs-lisp/bytecomp.el, lisp/emacs-lisp/cl-extra.el:
* lisp/erc/erc-dcc.el, lisp/facemenu.el, lisp/gnus/message.el:
* lisp/gnus/nndoc.el, lisp/gnus/nnmaildir.el, lisp/image.el:
* lisp/international/ccl.el, lisp/international/fontset.el:
* lisp/international/mule-cmds.el, lisp/international/mule.el:
* lisp/json.el, lisp/mail/binhex.el, lisp/mail/rmail.el:
* lisp/mail/uudecode.el, lisp/md4.el, lisp/net/dns.el:
* lisp/net/ntlm.el, lisp/net/sasl.el, lisp/net/socks.el:
* lisp/net/tramp.el, lisp/obsolete/levents.el:
* lisp/obsolete/pgg-parse.el, lisp/org/org.el:
* lisp/org/ox-publish.el, lisp/progmodes/cc-defs.el:
* lisp/progmodes/ebnf2ps.el, lisp/progmodes/hideif.el:
* lisp/ps-bdf.el, lisp/ps-print.el, lisp/simple.el:
* lisp/tar-mode.el, lisp/term/common-win.el:
* lisp/term/tty-colors.el, lisp/term/xterm.el, lisp/vc/vc-git.el:
* lisp/vc/vc-hg.el, lisp/x-dnd.el, test/src/data-tests.el:
Prefer ash to lsh when either will do.
2018-08-21 13:44:32 -07:00
..
2018-08-21 13:44:32 -07:00
2018-08-15 00:14:41 +02:00
2018-08-21 13:44:32 -07:00
2018-08-21 13:44:32 -07:00
2018-07-24 06:40:58 -07:00
2018-08-21 13:44:32 -07:00
2018-02-17 07:50:28 -08:00
2018-08-21 13:44:32 -07:00
2018-08-21 13:44:32 -07:00
2018-08-21 13:44:32 -07:00
2018-08-21 13:44:32 -07:00
2018-08-21 13:44:32 -07:00
2018-08-21 13:44:32 -07:00
2018-04-14 07:50:45 -07:00
2018-07-28 07:50:36 -07:00
2018-02-17 09:17:28 -08:00
2018-07-18 10:23:20 -04:00
2018-08-21 13:44:32 -07:00
2018-06-19 07:38:47 -07:00
2018-07-13 11:28:16 -04:00
2018-06-19 07:34:07 -07:00
2018-08-04 11:37:39 -04:00
2018-08-21 13:44:32 -07:00
2018-08-21 13:44:32 -07:00
2018-07-07 09:27:44 -07:00
2018-08-21 13:44:32 -07:00
2018-03-16 20:41:17 -04:00
2018-03-04 17:16:39 -08:00
2018-07-09 16:03:49 +02:00
2018-08-16 17:26:37 +02:00
2018-04-20 18:55:04 -04:00
2018-05-23 01:35:05 -07:00
2018-04-20 18:55:04 -04:00
2018-08-14 09:06:43 -07:00
2018-08-21 13:44:32 -07:00
2018-08-21 13:44:32 -07:00
2018-05-15 09:09:48 -07:00
2018-08-01 07:33:38 -04:00
2018-08-12 09:01:20 -07:00
2018-08-21 13:44:32 -07:00
2018-06-23 07:50:59 -07:00
2018-06-02 10:29:38 -07:00
2018-03-04 18:01:41 -08:00
2018-03-04 18:01:41 -08:00
2018-03-04 18:01:41 -08:00
2018-03-04 18:01:41 -08:00
2018-07-23 01:10:07 -07:00
2018-08-21 13:44:32 -07:00
2018-08-21 13:44:32 -07:00
2018-03-01 20:28:03 -05:00
2018-07-18 10:23:20 -04:00
2018-08-21 13:44:32 -07:00
2018-07-02 19:19:26 -07:00
2018-08-10 11:37:11 -07:00
2018-08-21 13:44:32 -07:00
2018-04-20 18:55:04 -04:00
2018-08-21 13:44:32 -07:00

This directory contains source code for the parts of Emacs that are
written in Emacs Lisp.  *.el files are Emacs Lisp source, and the
corresponding *.elc files are byte-compiled versions.  Byte-compiled
files are architecture-independent.

The term subdirectory contains Lisp files that customize Emacs for
certain terminal types.  When Emacs starts, it checks the TERM
environment variable to get the terminal type and loads
'term/${TERM}.el' if it exists.

The other subdirectories hold Lisp packages grouped by their general
purpose.