1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-21 10:24:55 +00:00
Commit Graph

841 Commits

Author SHA1 Message Date
Lars Magne Ingebrigtsen
f68d76d0d4 * display.texi (Showing Images): Mention the point of sliced images (bug bug#7836). 2011-07-02 23:38:19 +02:00
Eli Zaretskii
7018dbe72c Fix incorrect usage of @kindex.
doc/lispref/variables.texi (Defining Variables, Void Variables)
 (Constant Variables): Fix incorrect usage of @kindex.
2011-07-02 20:18:16 +03:00
Lars Magne Ingebrigtsen
8d4294e957 (Defining Variables): Use @findex for functions. 2011-07-02 19:10:29 +02:00
Lars Magne Ingebrigtsen
4051493f74 Remove spurious newline introduced by last checkin. 2011-07-02 18:20:15 +02:00
Lars Magne Ingebrigtsen
28ee97c77e * variables.texi (Defining Variables): Add an index entry for
`set-variable' (bug#7262).
2011-07-02 17:32:03 +02:00
Lars Magne Ingebrigtsen
8862ffd571 * frames.texi (Basic Parameters): Document the `explicit-name'
parameter (bug#6951).
2011-07-02 16:14:57 +02:00
Lars Magne Ingebrigtsen
0ec389b977 * customize.texi (Type Keywords): Clarify that :value provides a
default value for all types.

Fixes: debbugs:7386
2011-07-02 15:36:11 +02:00
Lars Magne Ingebrigtsen
36cb87a1f4 * streams.texi (Output Functions): Document `pp'. 2011-07-02 15:08:07 +02:00
Glenn Morris
11fdef7d0c Merge from emacs-23; up to 2010-06-15T03:34:12Z!rgm@gnu.org. 2011-06-25 11:21:00 -07:00
Chong Yidong
eeafcea7ee * doc/lispref/text.texi (Special Properties): Clarify role of font-lock-face. 2011-06-15 14:45:28 -04:00
Lars Magne Ingebrigtsen
b96e6cde3e Renamed process-alive-p' to process-live-p' for consistency with other `-live-p' functions. 2011-06-15 19:30:41 +02:00
Chong Yidong
dfc47e3511 Fix errors in 2011-05-29 change to Lisp manual.
* doc/lispref/keymaps.texi (Searching Keymaps):
* doc/lispref/display.texi (Overlay Properties): Fix errors in 2011-05-29
change.  Suggested by Johan Bockgård.
2011-06-14 11:13:26 -04:00
Paul Eggert
001903b549 Merge: Document wide integers better. 2011-06-06 12:43:39 -07:00
Paul Eggert
2d365993f1 Document wide integers better.
* files.texi (File Attributes):
ino_t values no longer map to anything larger than a single cons.
2011-06-03 12:04:41 -07:00
Paul Eggert
be14b9ab10 Document wide integers better.
* files.texi (File Attributes): Document ino_t values better.
* numbers.texi (Integer Basics, Integer Basics, Arithmetic Operations):
(Bitwise Operations):
* objects.texi (Integer Type): Integers are typically 62 bits now.
* os.texi (Time Conversion): Document time_t values better.
2011-06-03 11:49:33 -07:00
Lars Magne Ingebrigtsen
bcd54f8370 Add the tiny convenience function `process-alive-p'. 2011-05-31 20:40:00 +02:00
Glenn Morris
ed7f1a6c5c Merge from emacs-23; up to 2010-06-12T11:17:12Z!eliz@gnu.org. 2011-05-29 15:41:06 -07:00
Chong Yidong
58539c631a Clarify Remapping Commands node in Lisp manual (Bug#8350).
* keymaps.texi (Remapping Commands): Emphasize that the keymap
needs to be active.
2011-05-29 15:00:00 -04:00
Chong Yidong
049bcbcba6 Tweaks to lisp manual to remove over/underflows in printed version.
* help.texi (Accessing Documentation):
* display.texi (Pixel Specification):
* processes.texi (Serial Ports, Serial Ports):
* nonascii.texi (Character Properties, Default Coding Systems):
* text.texi (Changing Properties, Special Properties):
* windows.texi (Window Start and End):
* modes.texi (SMIE Indentation Example, SMIE Tricks):
* keymaps.texi (Searching Keymaps, Tool Bar):
* minibuf.texi (Basic Completion):
* compile.texi (Eval During Compile):
* strings.texi (Formatting Strings): Tweaks to avoid overflowing
7x9 paper in printed manual.

* lists.texi (Sets And Lists): Fix misplaced text.
2011-05-29 13:18:46 -04:00
Chong Yidong
b4d52accc5 * doc/lispref/minibuf.texi (Reading File Names): Clarify (Bug#8480). 2011-05-28 15:58:43 -04:00
Chong Yidong
6b5681bf6b Remove antediluvian filename limit recommendation from tips.texi (Bug#8538).
* doc/lispref/tips.texi (Coding Conventions): Remove antediluvian filename limit recommendation.
2011-05-28 15:05:36 -04:00
Glenn Morris
9545957184 Tweak previous modes.texi change. 2011-05-26 21:43:15 -04:00
Glenn Morris
e145f1881a Make set-auto-mode respect mode: entries at the end of the file (bug#8586)
* lisp/files.el (set-auto-mode):
Also respect mode: entries at the end of the file.

* doc/lispref/modes.texi (Auto Major Mode):
Update for set-auto-mode changes.

* doc/emacs/custom.texi (Specifying File Variables):
Major modes no longer need come first.

* etc/NEWS: Mention this.
2011-05-26 21:00:53 -04:00
Glenn Morris
2d3ba9e768 * variables.texi (File Local Variables): More hack-local-variables details. 2011-05-26 09:20:21 -07:00
Glenn Morris
eafed945b7 Tiny doc/lispref/variables.texi update.
* doc/lispref/variables.texi (File Local Variables):
Update hack-local-variables `mode-only' return value.
2011-05-25 20:54:27 -04:00
Glenn Morris
b28c06e83b Fix whitespace in previous change. 2011-05-19 00:23:18 -07:00
Glenn Morris
bc8410afd8 * doc/lispref/lists.texi (Sets And Lists): Mention cl provides union etc. 2011-05-18 23:59:50 -07:00
Nix
35a30759f3 Misc small lispref fixes.
* windows.texi (Displaying Buffers): pop-to-buffer is not a command.

* text.texi (Parsing HTML): Update for function name changes.

* syntax.texi (Syntax Flags): Small fix.

* keymaps.texi (Active Keymaps): Typo fix.
(Changing Key Bindings): Grammar fix.

* frames.texi (Minibuffers and Frames): Grammar fix.
(Window System Selections): x-select-enable-clipboard now defaults to t.

* customize.texi (Common Keywords):
* display.texi (Abstract Display):
* modes.texi (Auto-Indentation):
* nonascii.texi (Converting Representations): Typo fixes.

* control.texi (Examples of Catch): Call it "goto" not "go to".
2011-05-18 23:54:27 -07:00
Eli Zaretskii
bc039a3b7d Fix minor errors in ELisp manual.
doc/lispref/nonascii.texi (Character Properties): Fix inconsistencies with
 implementation.
2011-05-14 17:50:46 +03:00
Eli Zaretskii
e3934a8a48 Fix bug #8652 with indentation of variable docs.
doc/lispref/text.texi (Special Properties): Move @defvar's out of the
 @table.
2011-05-14 11:46:11 +03:00
Glenn Morris
79b70037f6 Put ChangeLog entries in the correct files. 2011-05-12 09:30:17 -07:00
Glenn Morris
e2c9421814 * doc/lispref/display.texi (Image Descriptors): Fix typo. (Bug#8495) 2011-05-12 00:27:35 -07:00
Glenn Morris
d2fc7e3d0f Merge from emacs-23; up to 2010-06-10T12:56:11Z!michael.albinus@gmx.de. 2011-05-12 00:07:06 -07:00
U. Ser
9b053e766d fix many doubled-word typos 2011-05-10 15:57:12 +02:00
Eli Zaretskii
3ee240faef Typo fix in doc/lispref/files.texi. 2011-05-09 23:38:50 +03:00
Stefan Monnier
bc3bea9cf0 * lispref/modes.texi (Region to Refontify): Rename from "Region to Fontify".
(Multiline Font Lock):
* lispref/vol2.texi (Top):
* lispref/vol1.texi (Top):
* lispref/elisp.texi (Top): Update menu accordingly.
2011-05-06 11:32:26 -03:00
Paul Eggert
b08a63ccec Do not assume EMACS_INT is the same width as a pointer.
This prepares for a future patch that will prefer 64-bit EMACS_INT if
available.  That patch can be tried now, by compiling with -DWIDE_EMACS_INT,
but it is temporarily not the default so that it can be further tested.

Also, install some other fixes for problems discovered by the static
checking of GCC 4.6.0.

Fixes: debbugs:8545 debbugs:8601 debbugs:8600 debbugs:8602
2011-05-06 00:13:19 -07:00
Drew Adams
e6dc6206e9 doc/lispref/modes.texi (Region to Fontify): Fix typo. 2011-05-06 01:04:47 +02:00
Paul Eggert
c717b32678 Revert to wraparound integer arithmetic, instead of going to float. 2011-05-04 23:31:14 -07:00
Paul Eggert
59dba0f4d8 Add Bug#. 2011-05-03 11:57:49 -07:00
Paul Eggert
680186416d [etc/ChangeLog]
* NEWS: Integer overflow now yields floating-point instead of
wrapping around.
[doc/lispref/ChangeLog]
* numbers.texi (Arithmetic Operations, Math Functions): Large integers go to
floats instead of wrapping around.
* objects.texi (Integer Type): Likewise.
2011-05-03 09:33:36 -07:00
Paul Eggert
fed14fd752 * numbers.texi (Integer Basics): Large integers are treated as floats. 2011-05-03 00:41:32 -07:00
Lars Magne Ingebrigtsen
1ef14cb4b0 Extend call-process' to take the (:file "file")' syntax to redirect
STDOUT to a file.
2011-05-01 02:04:17 +02:00
Glenn Morris
4ffd0d6b56 Merge from emacs-23; up to 2010-06-09T17:54:28Z!albinus@detlef. 2011-04-22 20:07:16 -07:00
Juanma Barranquero
7ee6a1d372 Fix typos. 2011-04-13 13:50:12 +02:00
Chong Yidong
4095436808 Doc fix for left-fringe and right-fringe parameters (Bug#6930)
* doc/lispref/frames.texi (Layout Parameters): Note the difference
between querying and setting parameters for left-fringe and
right-fringe.
2011-04-10 16:43:35 -04:00
Chong Yidong
6b8bc57071 Merge changes from emacs-23 branch 2011-04-08 14:53:26 -04:00
Juanma Barranquero
3338398778 Update and split ChangeLogs. 2011-04-06 14:18:10 +02:00
Stefan Monnier
034086489c Merge from lexical-binding branch.
* doc/lispref/eval.texi (Eval): Discourage the use of `eval'.
Document its new `lexical' argument.

* doc/lispref/variables.texi (Defining Variables): Mention the new meaning of `defvar'.
(Lexical Binding): New sub-section.

* lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS, BYTE_COMPILE_FLAGS):
New variables.
(compile-onefile, .el.elc, compile-calc, recompile): Use them.
(COMPILE_FIRST): Add macroexp and cconv.
* lisp/makefile.w32-in: Mirror changes in Makefile.in.

* lisp/vc/cvs-status.el:
* lisp/vc/diff-mode.el:
* lisp/vc/log-edit.el:
* lisp/vc/log-view.el:
* lisp/vc/smerge-mode.el:
* lisp/textmodes/bibtex-style.el:
* textmodes/css.el:
* lisp/startup.el:
* lisp/uniquify.el:
* lisp/minibuffer.el: 
* lisp/newcomment.el: 
* lisp/reveal.el: 
* lisp/server.el: 
* lisp/mpc.el: 
* lisp/emacs-lisp/smie.el: 
* lisp/doc-view.el: 
* lisp/dired.el: 
* lisp/abbrev.el: Use lexical binding.

* lisp/custom.el (custom-initialize-default, custom-declare-variable):
Use `defvar'.

* lisp/files.el (lexical-binding): Declare safe.

* lisp/help-fns.el (help-split-fundoc): Return nil if there's nothing else
than the arglist.
(help-add-fundoc-usage): Don't add `Not documented'.
(help-function-arglist): Handle closures, subroutines, and new
byte-code-functions.
(help-make-usage): Remove leading underscores.
(describe-function-1): Handle closures.
(describe-variable): Use special-variable-p for completion.

* lisp/simple.el (with-wrapper-hook, apply-partially): Move to subr.el.

* lisp/subr.el (apply-partially): Use new closures rather than CL.
(--dolist-tail--, --dotimes-limit--): Don't declare dynamic.
(dolist, dotimes): Use slightly different expansion for lexical code.
(functionp): Move to C.
(letrec): New macro.
(with-wrapper-hook): Use it and apply-partially instead of CL.
(eval-after-load): Preserve lexical-binding.
(save-window-excursion, with-output-to-temp-buffer): Turn them
into macros.

* lisp/emacs-lisp/advice.el (ad-arglist): Use help-function-arglist.

* lisp/emacs-lisp/autoload.el (make-autoload): Don't burp on trivial macros.

* lisp/emacs-lisp/byte-opt.el: Use lexical binding.
(byte-inline-lapcode): Remove (to bytecomp).
(byte-compile-inline-expand): Pay attention to inlining to/from
lexically bound code.
(byte-compile-unfold-lambda): Don't handle byte-code-functions
any more.
(byte-optimize-form-code-walker): Don't handle save-window-excursion
any more and don't call compiler-macros.
(byte-compile-splice-in-already-compiled-code): Remove.
(byte-code): Don't inline any more.
(disassemble-offset): Receive `bytes' as argument rather than via
dynamic scoping.
(byte-compile-tag-number): Declare before first use.
(byte-decompile-bytecode-1): Handle new byte-codes, don't change
`return' even if make-spliceable.
(byte-compile-side-effect-and-error-free-ops): Add stack-ref, remove
obsolete interactive-p.
(byte-optimize-lapcode): Optimize new lap-codes.
Don't trip up on new form of `byte-constant' lap code.

* lisp/emacs-lisp/byte-run.el (make-obsolete): Don't set the `byte-compile'
handler any more.

* lisp/emacs-lisp/bytecomp.el: Use lexical binding instead of
a "bytecomp-" prefix.  Macroexpand everything as a separate phase.
(byte-compile-initial-macro-environment):
Handle declare-function here.
(byte-compile--lexical-environment): New var.
(byte-stack-ref, byte-stack-set, byte-discardN)
(byte-discardN-preserve-tos): New lap codes.
(byte-interactive-p): Don't use any more.
(byte-compile-push-bytecodes, byte-compile-push-bytecode-const2):
New macros.
(byte-compile-lapcode): Use them and handle new lap codes.
(byte-compile-obsolete): Remove.
(byte-compile-arglist-signature): Handle new byte-code arg"lists".
(byte-compile-arglist-warn): Check late def of inlinable funs.
(byte-compile-cl-warn): Don't silence warnings for compiler-macros
since they should have been expanded by now.
(byte-compile--outbuffer): Rename from bytecomp-outbuffer.
(byte-compile-from-buffer): Remove unused second arg.
(byte-compile-preprocess): New function.
(byte-compile-toplevel-file-form): New function to distinguish
file-form calls from outside from file-form calls from hunk-handlers.
(byte-compile-file-form): Simplify.
(byte-compile-file-form-defsubst): Remove.
(byte-compile-file-form-defmumble): Simplify now that
byte-compile-lambda always returns a byte-code-function.
(byte-compile): Preprocess.
(byte-compile-byte-code-maker, byte-compile-byte-code-unmake):
Remove, not used any more.
(byte-compile-arglist-vars, byte-compile-make-lambda-lexenv)
(byte-compile-make-args-desc): New funs.
(byte-compile-lambda): Handle lexical functions.  Always return
a byte-code-function.
(byte-compile-reserved-constants): New var, to make up room for
closed-over variables.
(byte-compile-constants-vector): Obey it.
(byte-compile-top-level): New args `lexenv' and `reserved-csts'.
(byte-compile-macroexpand-declare-function): New function.
(byte-compile-form): Call byte-compile-unfold-bcf to inline immediate
byte-code-functions.
(byte-compile-form): Check obsolescence here.
(byte-compile-inline-lapcode, byte-compile-unfold-bcf): New functions.
(byte-compile-variable-ref): Remove.
(byte-compile-dynamic-variable-op): New fun.
(byte-compile-dynamic-variable-bind, byte-compile-variable-ref)
(byte-compile-variable-set): New funs.
(byte-compile-discard): Add 2 args.
(byte-compile-stack-ref, byte-compile-stack-set)
(byte-compile-make-closure, byte-compile-get-closed-var): New funs.
(byte-compile-funarg, byte-compile-funarg-2): Remove, handled in
macroexpand-all instead.
(byte-compile-quote-form): Remove.
(byte-compile-push-binding-init, byte-compile-not-lexical-var-p)
(byte-compile-bind, byte-compile-unbind): New funs.
(byte-compile-let): Handle let* and lexical binding.
(byte-compile-let*): Remove.
(byte-compile-catch, byte-compile-unwind-protect)
(byte-compile-track-mouse, byte-compile-condition-case):
Handle a new :fun-body form, used for lexical scoping.
(byte-compile-save-window-excursion)
(byte-compile-with-output-to-temp-buffer): Remove.
(byte-compile-defun): Simplify.
(byte-compile-stack-adjustment): New fun.
(byte-compile-out): Use it.
(byte-compile-refresh-preloaded): Don't reload byte-compiler files.

* lisp/emacs-lisp/cconv.el: New file.

* lisp/emacs-lisp/cl-extra.el (cl-macroexpand-all): Properly quote CL
closures.

* lisp/emacs-lisp/cl-macs.el (cl-byte-compile-block)
(cl-byte-compile-throw): Remove.
(cl-block-wrapper, cl-block-throw): Use compiler-macros instead.

* lisp/emacs-lisp/cl.el (pushnew): Silence warning.

* lisp/emacs-lisp/disass.el (disassemble-internal): Handle new
`closure' objects.
(disassemble-1): Handle new byte codes.

* lisp/emacs-lisp/edebug.el (edebug-eval-defun)
(edebug-eval-top-level-form): Use eval-sexp-add-defvars.
(edebug-toggle): Avoid `eval'.

* lisp/emacs-lisp/eieio-comp.el: Remove.

* lisp/emacs-lisp/eieio.el (byte-compile-file-form-defmethod):
Don't autoload.
(eieio-defgeneric-form-primary-only-one): Use `byte-compile' rather
than the internal `byte-compile-lambda'.
(defmethod): Don't hide code under quotes.
(eieio-defmethod): New `code' argument.

* lisp/emacs-lisp/float-sup.el (pi): Don't declare as dynamically bound.

* lisp/emacs-lisp/lisp-mode.el (eval-last-sexp-1):
Use eval-sexp-add-defvars.
(eval-sexp-add-defvars): New fun.

* lisp/emacs-lisp/macroexp.el: Use lexical binding.
(macroexpand-all-1): Check obsolete macros.  Expand compiler-macros.
Don't convert ' to #' without checking that it's indeed quoting
a lambda.

* lisp/emacs-lisp/pcase.el: Don't use destructuring-bind.
(pcase--memoize): Rename from pcase-memoize.  Change weakness.
(pcase): Add `let' pattern.
Change memoization so it actually works.
(pcase-mutually-exclusive-predicates): Add byte-code-function-p.
(pcase--u1) <guard, pred>: Fix possible shadowing problem.
<let>: New case.

* src/alloc.c (Fmake_symbol): Init new `declared_special' field.

* src/buffer.c (defvar_per_buffer): Set new `declared_special' field.

* src/bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN):
New byte-codes.
(exec_byte_code): New function extracted from Fbyte_code to handle new
calling convention for byte-code-functions.  Add new byte-codes.

* src/callint.c (Fcall_interactively): Preserve lexical-binding mode for
interactive spec.

* src/doc.c (Fdocumentation, store_function_docstring):
* src/data.c (Finteractive_form): Handle closures.

* src/eval.c (Fsetq): Handle lexical vars.
(Fdefun, Fdefmacro, Ffunction): Make closures when needed.
(Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic.
(FletX, Flet): Obey lexical binding.
(Fcommandp): Handle closures.
(Feval): New `lexical' arg.
(eval_sub): New function extracted from Feval.  Use it almost
everywhere where Feval was used.  Look up vars in lexical env.
Handle closures.
(Ffunctionp): Move from subr.el.
(Ffuncall): Handle closures.
(apply_lambda): Remove `eval_flags'.
(funcall_lambda): Handle closures and new byte-code-functions.
(Fspecial_variable_p): New function.
(syms_of_eval): Initialize the Vinternal_interpreter_environment var,
but without exporting it to Lisp.

* src/fns.c (concat, mapcar1): Accept byte-code-functions.

* src/image.c (parse_image_spec): Use Ffunctionp.

* src/keyboard.c (eval_dyn): New fun.
(menu_item_eval_property): Use it.

* src/lisp.h (struct Lisp_Symbol): New field `declared_special'.

* src/lread.c (lisp_file_lexically_bound_p): New function.
(Fload): Bind Qlexical_binding.
(readevalloop): Remove `evalfun' arg.
Bind Qinternal_interpreter_environment.
(Feval_buffer): Bind Qlexical_binding.
(defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard):
Mark as dynamic.
(syms_of_lread): Declare `lexical-binding'.

* src/window.c (Ftemp_output_buffer_show): New fun.
(Fsave_window_excursion):
* src/print.c (Fwith_output_to_temp_buffer): Move to subr.el.
2011-04-01 13:19:52 -04:00
Stefan Monnier
7200d79c65 Miscellanous cleanups in preparation for the merge.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
Remove debug statement.
* lisp/emacs-lisp/bytecomp.el (byte-compile-single-version)
(byte-compile-version-cond, byte-compile-delay-out)
(byte-compile-delayed-out): Remove, unused.
* src/bytecode.c (Fbyte_code): Revert to old calling convention.
* src/lisp.h (COMPILED_PUSH_ARGS): Remove, unused.
2011-04-01 11:16:50 -04:00