summaryrefslogtreecommitdiff
path: root/doc/lispref
Commit message (Collapse)AuthorAgeFilesLines
* min and max now return one of their argumentsPaul Eggert2017-03-061-5/+1
| | | | | | | | | * doc/lispref/numbers.texi (Comparison of Numbers): * etc/NEWS: Document this. * src/data.c (Amax, Amin): Remove constants. All uses removed. (minmax_driver): New function. (Fmax, Fmin): Use it instead of arith_driver. * test/src/data-tests.el (data-tests-max, data-tests-min): New tests.
* Use float instead of Lisp_Object for rehash_sizePaul Eggert2017-02-211-3/+3
| | | | | | | | | | | | | | | | | | * src/alloc.c (purecopy_hash_table): * src/fns.c (maybe_resize_hash_table, Fmake_hash_table): (Fhash_table_rehash_size): * src/lisp.h (struct Lisp_Hash_Table.rehash_size): The rehash_size member of struct Lisp_Hash_Table is now a float, not a Lisp_Object. * src/alloc.c (purecopy_hash_table): Assign members in order. * src/fns.c (make_hash_table): Use EMACS_INT for size and float for rehash_size, instead of Lisp_Object for both. All callers changed. * src/lisp.h (DEFAULT_REHASH_SIZE): Now float, not double, and 1 smaller. * src/print.c (print_object): Simplify by calling Fhash_table_rehash_size and Fhash_table_rehash_threshold. Avoid unnecessary NILP.
* Hash table threshold is now float, not doublePaul Eggert2017-02-212-3/+4
| | | | | | | | | | | | | | | Change default from 0.8 to 0.8125 so it fits in float without rounding glitches. * doc/lispref/hash.texi (Creating Hash): * doc/lispref/objects.texi (Hash Table Type): * etc/NEWS: Document change. * src/fns.c (make_hash_table, maybe_resize_hash_table) (Fmake_hash_table): Threshold is now float, not double. Be consistent about how this is rounded. * src/lisp.h (struct Lisp_Hash_Table.rehash_threshold): Change back to float, now that the other code rounds consistently. (DEFAULT_REHASH_THRESHOLD): Now float 0.8125 instead of double 0.8.
* Rework connection local variablesMichael Albinus2017-02-191-77/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For connection local variables interface, `class' is renamed to `profile'. All arguments `criteria' are a plist now. * doc/lispref/variables.texi (Connection Local Variables): Rewrite. * lisp/files-x.el (connection-local-profile-alist): Rename from `connection-local-class-alist'. Adapt docstring. (connection-local-criteria-alist): Adapt docstring. (connection-local-normalize-criteria): New defun. (connection-local-get-profiles): Rename from `connection-local-get-classes'. Rewrite. (connection-local-set-profiles): Rename from `connection-local-set-classes'. Rewrite. (connection-local-get-profile-variables): Rename from `connection-local-get-class-variables'. Rewrite. (connection-local-set-profile-variables): Rename from `connection-local-set-class-variables'. Rewrite. (hack-connection-local-variables) (hack-connection-local-variables-apply)): Rewrite. (with-connection-local-profiles): Rename from `ith-connection-local-classes'. Rewrite. * lisp/net/tramp.el (tramp-set-connection-local-variables): Compute criteria. * lisp/net/tramp-cmds.el (tramp-bug): Use `connection-local-profile-alist'. * test/lisp/files-x-tests.el (files-x-test--variables1) (files-x-test--variables2, files-x-test--variables3) (files-x-test--variables4, files-x-test--criteria1) (files-x-test--criteria2): Make them a defconst. (files-x-test--application) (files-x-test--another-application, files-x-test--protocol) (files-x-test--user, files-x-test--machine): New defconst. (files-x-test--criteria): New defvar. (files-x-test--criteria3): Remove. (files-x-test-connection-local-set-profile-variables): Rename from `files-x-test-connection-local-set-class-variables'. Rewrite. (files-x-test-connection-local-set-profiles): Rename from `files-x-test-connection-local-set-classes'. Rewrite. (files-x-test-hack-connection-local-variables-apply) Rewrite. (files-x-test-with-connection-local-profiles): Rename from `files-x-test-with-connection-local-classes'. Rewrite.
* Remove the build number from emacs-version variableGlenn Morris2017-02-171-7/+13
| | | | | | | | | | | | | | | It's a largely internal detail that can confuse users. (Bug#25590) * lisp/version.el (emacs-build-number): New constant. (emacs-version): Use emacs-build-number. * lisp/loadup.el (top-level): When dumping, increment emacs-build-number rather than emacs-version. * src/emacs.c (emacs-version): Doc fix. * doc/lispref/intro.texi (Version Info): Update emacs-version details. Mention emacs-build-number. * lisp/gnus/gnus-util.el (gnus-emacs-version): * lisp/mail/emacsbug.el (report-emacs-bug): * admin/admin.el (set-version): Update for emacs-version change. ; * etc/NEWS: Mention this.
* Ensure that user-mail-address always has a valueGlenn Morris2017-02-171-2/+0
| | | | | | | | | | | * lisp/startup.el (user-mail-address): Initialize in the normal way. (command-line): Reset user-mail-address if needed using standard custom machinery. * lisp/mail/feedmail.el (feedmail-fiddle-from): * lisp/mail/rmail.el (rmail-unknown-mail-followup-to): * lisp/mail/rmailsum.el (rmail-header-summary): Simplify now that user-mail-address is always set. ; * doc/lispref/os.texi (System Environment): Remove fixme comment.
* Small lispref editGlenn Morris2017-02-141-5/+1
| | | | | * doc/lispref/os.texi (User Identification): Remove extraneous detail about user-mail-address.
* Document fill-separate-heterogeneous-words-with-space (bug#25685)Katsumi Yamaoka2017-02-151-0/+7
| | | | | * doc/lispref/text.texi (Filling): Document fill-separate-heterogeneous-words-with-space (bug#25685).
* Doc fixes related to mail-host-addressGlenn Morris2017-02-121-3/+1
| | | | | | * lisp/startup.el (mail-host-address): Doc fix. * doc/lispref/os.texi (System Environment): Remove extraneous details of mail-host-address.
* Change edebug-max-depth from defconst to defcustomGemini Lasswell2017-02-041-3/+7
| | | | | | | | | | | | | * lisp/emacs-lisp/edebug.el (edebug-max-depth): Add defcustom. (Bug#24713) * etc/NEWS: Mention edebug-max-depth. * doc/lispref/edebug.texi (Checking Whether to Stop): Mention edebug-max-depth and index it. Add cross-references for max-lisp-eval-depth and max-specpdl-size. Co-authored-by: Eli Zaretskii <eliz@gnu.org>
* Document 'save-some-buffers-default-predicate'Eli Zaretskii2017-02-041-11/+15
| | | | | | * doc/lispref/files.texi (Saving Buffers): * doc/emacs/files.texi (Save Commands): Document save-some-buffers-default-predicate.
* Make limit on scroll-margin variableNoam Postavsky2017-02-021-0/+15
| | | | | | | | | | * src/xdisp.c (maximum-scroll-margin): New variable. * lisp/cus-start.el: Make it customizable. * etc/NEWS: Mention it. * doc/emacs/display.texi (Auto Scrolling): * doc/lispref/windows.texi (Textual Scrolling): Document it. * src/window.c (window_scroll_pixel_based): Use it instead of hardcoding division by 4 (Bug #5718).
* Document :shell-command in `make-network-process'Lars Ingebrigtsen2017-01-261-0/+8
| | | | | | | * doc/lispref/processes.texi (Network): Document :shell-command. * lisp/net/network-stream.el (open-network-stream): Document the :shell-command parameter (bug#20651).
* Replace QUIT with maybe_quitPaul Eggert2017-01-251-3/+3
| | | | | | | | There’s no longer need to have QUIT stand for a slug of C statements. Use the more-obvious function-call syntax instead. Also, use true and false when setting immediate_quit. These changes should not affect the generated machine code. * src/lisp.h (QUIT): Remove. All uses replaced by maybe_quit.
* ; * doc/lispref/lists.texi (List Elements): Fix last change.Eli Zaretskii2017-01-251-7/+7
|
* Move cXXXr and cXXXXr to subr.elMark Oteiza2017-01-251-0/+33
| | | | | | | | | | | | | | | | | | * etc/NEWS: Mention new core Elisp. * doc/lispref/lists.texi (List Elements): Document and index the new functions. * doc/misc/cl.texi (List Functions): Change "defines" to "aliases". * lisp/subr.el (caaar, caadr, cadar, caddr, cdaar, cdadr, cddar) (cdddr, caaaar caaadr, caadar, caaddr, cadaar, cadadr, caddar): (cadddr, cdaaar, cdaadr, cdadar, cdaddr, cddaar, cddadr, cdddar): (cddddr): New functions. * lisp/emacs-lisp/cl-lib.el (cl-caaar, cl-caadr, cl-cadar, cl-caddr): (cl-cdaar, cl-cdadr, cl-cddar cl-cdddr, cl-caaaar cl-caaadr): (cl-caadar, cl-caaddr, cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr): (cl-cdaaar, cl-cdaadr, cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr): (cl-cdddar, cl-cddddr): Alias to new subr functions. * lisp/emacs-lisp/cl.el (cl-unload-function): Remove cXXXr and cXXXXr elements.
* Rudimentary error handling for non-main threadsEli Zaretskii2017-01-181-0/+11
| | | | | | | | | | | | | | * src/thread.c (last_thread_error): New static variable. (syms_of_threads): Staticpro it. (record_thread_error, Fthread_last_error): New functions. (syms_of_threads): Defsubr Fthread_last_error. * doc/lispref/threads.texi (Basic Thread Functions): Document thread-last-error. * test/src/thread-tests.el (thread-errors, thread-signal-early) (threads-condvar-wait): Test the values returned by thread-last-error.
* Add support for Unicode whitespace in [:blank:]Philipp Stephani2017-01-061-1/+5
| | | | | | | | | | | | | | | | See Bug#25366. * src/character.c (blankp): New function for checking Unicode horizontal whitespace. * src/regex.c (ISBLANK): Use 'blankp' for non-ASCII horizontal whitespace. (BIT_BLANK): New bit for range table. (re_wctype_to_bit, execute_charset): Use it. * test/lisp/subr-tests.el (subr-tests--string-match-p--blank): Add unit test for [:blank:] character class. * test/src/regex-tests.el (test): Adapt unit test. * doc/lispref/searching.texi (Char Classes): Document new Unicode behavior for [:blank:].
* Update copyright year to 2017 in masterPaul Eggert2017-01-011-1/+1
| | | | | | Run admin/update-copyright in the master branch. This fixes files that were not already fixed in the emacs-25 branch before it was merged here.
* Merge from origin/emacs-25Paul Eggert2017-01-0154-55/+55
|\ | | | | | | | | 2e2a806 Fix copyright years by hand 5badc81 Update copyright year to 2017
| * Fix copyright years by handPaul Eggert2017-01-012-2/+2
| | | | | | | | | | These are dates that admin/update-copyright did not update, or updated incorrectly.
| * Update copyright year to 2017Paul Eggert2016-12-3153-53/+53
| | | | | | | | Run admin/update-copyright.
* | Merge from origin/emacs-25Paul Eggert2017-01-011-0/+51
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 697167b ; Improve wording of previous change in variables.texi d7973e8 Document 'default-toplevel-value' and 'set-default-toplevel-v... 8b71826 Don't modify minibuffer variables globally 5b5e036 Revert to pre-25.1 behavior in ffap 19994a1 * lisp/ffap.el: Fix obsolete comment referencing ffap-bug. 3ace730 Attempt to fix 64-bit AIX build f69bd79 Clarify usage of 'ediff-cleanup-hook' (Bug#24675) c04ac8a Document that variable binding order is unspecified 272554a * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix. 08de101 Fix M-x hints on Mac port 86a297a Work around reporting a dpi change in apply_xft_settings cf1f985 ; lisp/skeleton.el (skeleton-insert): Fix typo in last change 9e1209d Amend the version number of CC Mode 5.33 -> 5.32.99. Don't m... 88cdf14 Improve skeleton docstrings
| * ; Improve wording of previous change in variables.texiEli Zaretskii2016-12-271-6/+7
| | | | | | | | | | * doc/lispref/variables.texi (Default Value): Improve wording of last change.
| * Document 'default-toplevel-value' and 'set-default-toplevel-value'Eli Zaretskii2016-12-261-0/+38
| | | | | | | | | | * doc/lispref/variables.texi (Default Value): Document 'default-toplevel-value' and 'set-default-toplevel-value'.
| * Document that variable binding order is unspecifiedPhilipp Stephani2016-12-231-0/+12
| | | | | | | | | | | | * doc/lispref/variables.texi (Local Variables): * cl.texi (Modify Macros): Document that binding order in 'let' and 'cl-letf' is unspecified.
* | ; Spelling fixesPaul Eggert2016-12-222-2/+2
| |
* | Clarify thread-signal semanticsNoam Postavsky2016-12-121-3/+5
| | | | | | | | | | * doc/lispref/threads.texi (Basic Thread Functions): Explain that the thread will be signaled as soon as possible.
* | Move backtrace to ELisp using a new mapbacktrace primitiveClément Pit--Claudel2016-12-121-1/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/eval.c (get_backtrace_starting_at, backtrace_frame_apply) (Fmapbacktrace, Fbacktrace_frame_internal): New functions. (get_backtrace_frame, Fbacktrace_debug): Use `get_backtrace_starting_at'. * lisp/subr.el (backtrace--print-frame): New function. (backtrace): Reimplement using `backtrace--print-frame' and `mapbacktrace'. (backtrace-frame): Reimplement using `backtrace-frame--internal'. * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Pass a base to `mapbacktrace' instead of searching for "(debug" in the output of `backtrace'. * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests) (subr-test-backtrace-integration-test): New tests. * doc/lispref/debugging.texi (Internals of Debugger): Document `mapbacktrace' and missing argument BASE of `backtrace-frame'.
* | Obsolete gs.elGlenn Morris2016-12-122-31/+2
| | | | | | | | | | | | | | * lisp/gs.el: Move to lisp/obsolete. (Bug#1524) * doc/lispref/display.texi (Image Formats): Remove postscript. (PostScript Images): Remove section. * doc/lispref/elisp.texi: Update menu.
* | ; Fix copyright years in new filesGlenn Morris2016-12-101-2/+1
| |
* | Support concurrency in Emacs LispEli Zaretskii2016-12-105-5/+378
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge branch 'test-concurrency' * src/thread.c: * src/thread.h: * src/systhread.c: * src/systhread.h: New files. * src/xgselect.c (xg_select): Avoid using SAFE_NALLOCA and use xnmalloc unconditionally. * src/window.c (struct save_window_data): Rename current_buffer to f_current_buffer. * src/w32proc.c (sys_select): Change the function signature to closer fit 'pselect' on Posix hosts. * src/search.c: * src/regex.h: Convert some globals to macros that reference thread-specific values. * src/process.c (pset_thread, add_non_keyboard_read_fd) (add_process_read_fd, add_non_blocking_write_fd) (recompute_input_desc, compute_input_wait_mask) (compute_non_process_wait_mask, compute_non_keyboard_wait_mask) (compute_write_mask, clear_waiting_thread_info) (update_processes_for_thread_death, Fset_process_thread) (Fprocess_thread): New functions. (enum fd_bits): New enumeration. (fd_callback_data): Add 'thread' and 'waiting_thread', rename 'condition' to 'flags'. (set_process_filter_masks, create_process, create_pty) (Fmake_serial_process, finish_after_tls_connection) (connect_network_socket, deactivate_process) (server_accept_connection, wait_reading_process_output) (Fcontinue_process, Fstop_process, keyboard_bit_set) (add_timer_wait_descriptor, add_keyboard_wait_descriptor) (delete_keyboard_wait_descriptor): Use the new functions instead of manipulating fd flags and masks directly. (syms_of_process): Defsubr the new primitives. * src/print.c (print_object): Print threads, mutexes, and conditional variables. * src/lisp.h (enum pvec_type): New values PVEC_THREAD, PVEC_MUTEX, and PVEC_CONDVAR. (XTHREAD, XMUTEX, XCONDVAR, THREADP, MUTEXP, CONDVARP) (CHECK_THREAD, CHECK_MUTEX, CHECK_CONDVAR): New inline functions. (XSETTHREAD, XSETMUTEX, XSETCONDVAR): New macros. (struct handler): Add back byte_stack. Rename lisp_eval_depth to f_lisp_eval_depth. * src/eval.c (specpdl_kind, specpdl_arg, do_specbind) (rebind_for_thread_switch, do_one_unbind) (unbind_for_thread_switch): New functions. (init_eval): 'handlerlist' is not malloc'ed. (specbind): Call do_specbind. (unbind_to): Call do_one_unbind. (mark_specpdl): Accept 2 arguments. (mark_specpdl): Mark the saved value in a let-binding. * src/emacs.c (main): Call init_threads_once, init_threads, and syms_of_threads. * src/data.c (Ftype_of): Support thread, mutex, and condvar objects. (Fthreadp, Fmutexp, Fcondition_variable_p): New functions. (syms_of_data): DEFSYM and defsubr new symbols and primitives. * src/bytecode.c (struct byte_stack, FETCH, CHECK_RANGE) (BYTE_CODE_QUIT): Add back. (exec_byte_code): Add back byte stack manipulation. * src/alloc.c (cleanup_vector): Handle threads, mutexes, and conditional variables. (mark_stack): Now extern; accept additional argument 'bottom'. (flush_stack_call_func): New function. (garbage_collect_1): Call mark_threads and unmark_threads. Don't mark handlers. * src/.gdbinit (xbytecode): Add back. * test/src/thread-tests.el: New tests. * test/src/data-tests.el (binding-test-manual) (binding-test-setq-default, binding-test-makunbound) (binding-test-defvar-bool, binding-test-defvar-int) (binding-test-set-constant-t, binding-test-set-constant-nil) (binding-test-set-constant-keyword) (binding-test-set-constant-nil): New tests. * doc/lispref/processes.texi (Processes and Threads): New subsection. * doc/lispref/threads.texi: New file * doc/lispref/elisp.texi (Top): Include it. * doc/lispref/objects.texi (Thread Type, Mutex Type) (Condition Variable Type): New subsections. (Type Predicates): Add thread-related predicates. * doc/lispref/objects.texi (Editing Types): * doc/lispref/elisp.texi (Top): Update higher-level menus. * etc/NEWS: Mention concurrency features.
| * | Documentation and commentary improvementsEli Zaretskii2016-12-102-0/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/lisp.h: * src/regex.c: * src/xgselect.c (xg_select): Improve commentary and formatting. * doc/lispref/objects.texi (Thread Type, Mutex Type) (Condition Variable Type): New subsections. (Type Predicates): Add thread-related predicates. * doc/lispref/objects.texi (Editing Types): * doc/lispref/elisp.texi (Top): Update higher-level menus.
| * | Merge branch 'concurrency'Eli Zaretskii2016-12-045-5/+306
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts (resolved): configure.ac src/Makefile.in src/alloc.c src/bytecode.c src/emacs.c src/eval.c src/lisp.h src/process.c src/regex.c src/regex.h
| | * \ merge from trunkKen Raeburn2015-11-0158-4531/+9913
| | |\ \
| | * | | use condition-notify in the docs, not condition-signalTom Tromey2013-08-271-2/+2
| | | | |
| | * | | zap until-condition docsTom Tromey2013-08-271-8/+1
| | | | |
| | * | | rename thread-blocker to thread--blockerTom Tromey2013-08-271-3/+4
| | | | |
| | * | | merge from trunkTom Tromey2013-08-252-0/+13
| | |\ \ \
| | * \ \ \ merge from trunkTom Tromey2013-08-1917-93/+390
| | |\ \ \ \
| | * \ \ \ \ merge from trunkTom Tromey2013-07-268-14/+222
| | |\ \ \ \ \
| | * \ \ \ \ \ Merge from trunkTom Tromey2013-07-122-4/+13
| | |\ \ \ \ \ \
| | * \ \ \ \ \ \ merge from trunkTom Tromey2013-07-0618-83/+210
| | |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this merges frmo trunk and fixes various build issues. this needed a few ugly tweaks. this hangs in "make check" now
| | * \ \ \ \ \ \ \ merge from trunkTom Tromey2013-06-133-31/+53
| | |\ \ \ \ \ \ \ \
| | * \ \ \ \ \ \ \ \ merge from trunk; clean up some issuesTom Tromey2013-06-0313-187/+292
| | |\ \ \ \ \ \ \ \ \
| | * \ \ \ \ \ \ \ \ \ merge from trunkTom Tromey2013-03-173-1/+22
| | |\ \ \ \ \ \ \ \ \ \
| | * \ \ \ \ \ \ \ \ \ \ merge from trunkTom Tromey2013-03-0813-151/+166
| | |\ \ \ \ \ \ \ \ \ \ \
| | * \ \ \ \ \ \ \ \ \ \ \ merge from trunkTom Tromey2013-01-163-8/+18
| | |\ \ \ \ \ \ \ \ \ \ \ \
| | * \ \ \ \ \ \ \ \ \ \ \ \ merge from trunkTom Tromey2013-01-0556-173/+320
| | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | * | | | | | | | | | | | | | mention let bindings and lack of other ways to rewindTom Tromey2012-12-231-0/+7
| | | | | | | | | | | | | | | |