1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-13 06:50:39 -08:00
emacs/doc/lispref
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
..
abbrevs.texi Update copyright year to 2018 2018-01-01 00:57:59 -08:00
anti.texi * doc/lispref/anti.texi (Antinews): Fix grammar. 2018-03-22 20:40:02 +01:00
back.texi Update copyright year to 2018 2018-01-01 00:57:59 -08:00
backups.texi Yet another round of improvements in the manual 2018-02-07 22:24:13 +02:00
book-spine.texi Fix single-quoting style in PDF manuals 2015-05-01 12:06:38 -07:00
buffers.texi Merge from origin/emacs-26 2018-06-02 10:29:38 -07:00
ChangeLog.1 Update copyright year to 2018 2018-01-01 00:57:59 -08:00
commands.texi Use @key{} where it is missing in the manuals 2018-01-31 19:59:12 +01:00
compile.texi ; * doc/lispref/compile.texi (Compilation Functions): Fix wording. 2018-04-02 20:25:52 +03:00
control.texi Allow floats as 'pcase' QPATS 2018-06-17 15:22:30 +02:00
customize.texi Improve indexing of 'eval-defun' in ELisp manual 2018-07-07 11:37:43 +03:00
debugging.texi Fix some documentation formatting nits 2018-08-03 08:54:08 -07:00
display.texi Merge from origin/emacs-26 2018-08-10 11:28:40 -07:00
doclicense.texi Merge from Gnulib 2017-10-01 18:31:10 -07:00
edebug.texi Fix some documentation formatting nits 2018-08-03 08:54:08 -07:00
elisp.texi Merge from origin/emacs-26 2018-05-29 10:07:21 +02:00
errors.texi Fix typos in several manuals (Bug#31610) 2018-06-01 16:33:58 +03:00
eval.texi Merge from origin/emacs-26 2018-07-28 07:50:36 -07:00
files.texi New commands to create an empty file 2018-08-02 13:20:46 +09:00
frames.texi Merge from origin/emacs-26 2018-07-28 07:50:36 -07:00
functions.texi Merge from origin/emacs-26 2018-06-23 07:51:00 -07:00
gpl.texi Merge from Gnulib 2017-10-01 18:31:10 -07:00
hash.texi ; * doc/lispref/hash.texi (Defining Hash): Fix typos. 2018-05-21 21:08:39 +03:00
help.texi Improve documentation of 'with-help-window' 2018-03-20 14:19:14 +02:00
hooks.texi ; Assorted documentation fixes in recent changes 2018-06-12 19:26:44 +03:00
index.texi
internals.texi Remove more traces of misc (Bug#32405) 2018-08-14 12:08:03 -07:00
intro.texi Update copyright year to 2018 2018-01-01 00:57:59 -08:00
keymaps.texi Audit use of lsh and fix glitches 2018-08-21 13:44:32 -07:00
lay-flat.texi Update copyright year to 2018 2018-01-01 00:57:59 -08:00
lists.texi Merge from origin/emacs-26 2018-07-13 09:28:15 -07:00
loading.texi Merge from origin/emacs-26 2018-01-30 07:50:25 -08:00
macros.texi Update copyright year to 2018 2018-01-01 00:57:59 -08:00
Makefile.in Update copyright year to 2018 2018-01-01 00:57:59 -08:00
maps.texi Fix some issues in the emacs/lispref manuals 2018-01-28 19:27:39 +01:00
markers.texi Update copyright year to 2018 2018-01-01 00:57:59 -08:00
minibuf.texi Prefer ?* to hide passwords 2018-07-29 21:21:40 +09:00
modes.texi Document 'major-mode-suspend' and 'major-mode-restore' 2018-06-22 11:48:38 +03:00
nonascii.texi Update Unicode data files to version 11.0.0 of Unicode 2018-06-09 15:41:21 +03:00
numbers.texi Restore compatibility with Texinfo < 6 2018-08-21 13:05:31 -04:00
objects.texi Document bignums 2018-07-12 22:12:48 -06:00
os.texi Merge from origin/emacs-26 2018-05-23 01:37:54 -07:00
package.texi * lisp/emacs-lisp/package.el: New quickstart feature 2018-03-26 09:41:30 -04:00
positions.texi Fix typos and minor wording issues in ELisp manual 2018-04-13 16:44:05 +03:00
processes.texi Improve documentation of a recent change 2018-06-20 18:39:41 +03:00
README Update copyright year to 2018 2018-01-01 00:57:59 -08:00
records.texi Update copyright year to 2018 2018-01-01 00:57:59 -08:00
searching.texi Merge from origin/emacs-26 2018-05-25 09:45:34 -07:00
sequences.texi Merge from origin/emacs-26 2018-07-20 10:00:32 -07:00
spellfile
streams.texi Honor print-charset-text-property value of nil (Bug#31376) 2018-05-23 07:53:58 -04:00
strings.texi %o and %x can now format signed integers 2018-07-26 00:39:17 -07:00
symbols.texi Update copyright year to 2018 2018-01-01 00:57:59 -08:00
syntax.texi Audit use of lsh and fix glitches 2018-08-21 13:44:32 -07:00
text.texi * doc/lispref/text.texi (JSONRPC): Add missing menu. 2018-06-30 18:51:35 -07:00
threads.texi thread-join returns the result of finished thread 2018-07-22 11:53:24 +02:00
tips.texi Fix use of @key in Texinfo manuals 2018-04-19 12:21:06 +03:00
two-volume-cross-refs.txt Update copyright year to 2018 2018-01-01 00:57:59 -08:00
two-volume.make Update copyright year to 2018 2018-01-01 00:57:59 -08:00
variables.texi Improve indexing of 'eval-defun' in ELisp manual 2018-07-07 11:37:43 +03:00
windows.texi Keep interactive uses of 'recenter' backward compatible (Bug#31325) 2018-07-07 12:07:47 +03:00

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Copyright (C) 2001-2018 Free Software Foundation, Inc.  -*- outline -*-
See the end of the file for license conditions.


README for the Emacs Lisp Reference Manual.

* This directory contains the texinfo source files for the Emacs Lisp
Reference Manual.

* Report bugs in the Lisp Manual (or in Emacs) using M-x report-emacs-bug.
To ask questions, use the help-gnu-emacs mailing list.

* The Emacs Lisp Reference Manual is quite large.  It totals around
1100 pages in smallbook format; the info files total around 3.0 megabytes.

* You can format this manual for Info, for printing hardcopy using TeX,
or for HTML.

* You can buy nicely printed copies from the Free Software Foundation.
Buying a manual from the Free Software Foundation helps support our GNU
development work.  See <https://shop.fsf.org/>.
(At time of writing, this manual is out of print.)

* The master file for formatting this manual for Tex is called 'elisp.texi'.
It contains @include commands to include all the chapters that make up
the manual.

* This distribution contains a Makefile that you can use with GNU Make.

** To make an Info file, you need to install Texinfo, then run 'make info'.

** Use 'make elisp.pdf' or 'make elisp.html' to create PDF or HTML versions.


This file is part of GNU Emacs.

GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.