aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'scratch/kqueue' of git.sv.gnu.org:/srv/git/emacs into ↵scratch/kqueueMichael Albinus2015-11-250-0/+0
|\ | | | | | | scratch/kqueue
| * Some final fixes in file notification before merging with masterMichael Albinus2015-11-253-114/+239
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg. (file-notify-callback): Improve check for `stopped' event. Call `file-notify-rm-watch' rather than `file-notify--rm-descriptor'. (file-notify-add-watch): In case FILE is not a directory, call the file monitor for the kqueue backend. Otherwise, call the directory monitor for the upper directory. * src/inotify.c (inotifyevent_to_event): Extract file name from watch_object if the event doesn't provide it. (Finotify_add_watch): Add file name to watch_object. * test/automated/file-notify-tests.el (file-notify--test-timeout): Use different timeouts for different libraries. (file-notify--test-with-events): Suppress lock files. Flush outstanding events before running the body. (file-notify-test02-events, file-notify-test04-file-validity): Do not skip cygwin tests. Add additional test for file creation. Adapt expected result for different backends. (file-notify-test03-autorevert): Some of the tests don't work for w32notify. (file-notify-test06-many-events): Rename into both directions.
| * Rework file notifications, kqueue has problems with directory monitorsMichael Albinus2015-11-204-148/+203
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/filenotify.el (file-notify-add-watch): Call the native add-watch function on the file, not on the dir. * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping about already deleted entries. * test/automated/auto-revert-tests.el (auto-revert-test01-auto-revert-several-files): Do not call "cp -f" since this deletes the target file first. * test/automated/file-notify-tests.el (file-notify--test-event-test): Make stronger checks. (file-notify-test01-add-watch, file-notify-test02-events) (file-notify-test04-file-validity, file-notify-test05-dir-validity): Rewrite in order to call file monitors but directory monitors. (file-notify-test06-many-events): Ler rename work in both directions.
| * Continie with pending eventsMichael Albinus2015-11-191-14/+31
| | | | | | | | | | | | | | * src/kqueue.c (pending_events): Remove global variable. (kqueue_compare_dir_list): Create `write' event for not used pending events. (globals_of_kqueue): Remove initialization of pending_events.
| * Improve loops in file-notify-test06-many-eventsMichael Albinus2015-11-191-5/+7
| | | | | | | | | | | | * test/automated/file-notify-tests.el (file-notify-test06-many-events): Use `read-event' pauses for the `write-file' loops; otherwise events are lost in inotify and gfilenotify cases.
| * Handle more complex rename operation in kqueueMichael Albinus2015-11-192-12/+23
| | | | | | | | | | | | | | | | | | | | * src/kqueue.c (pending_events): New variable. (kqueue_compare_dir_list): Handle more complex rename operation. (globals_of_kqueue): Initialize pending_events. * test/automated/file-notify-tests.el (file-notify-test06-many-events): Adapt expected events in the `rename-file' case. (file-notify-test06-many-events-remote): Declare.
| * New test with a larger number of events.Wolfgang Jenkner2015-11-181-1/+40
| | | | | | | | | | | | | | * test/automated/file-notify-tests.el (file-notify--test-with-events): Make timeout heuristically depend on the number of events. (file-notify-test06-many-events): Use it for new test.
| * Further fixes for kqueue.Michael Albinus2015-11-183-55/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/filenotify.el (file-notify-callback): Raise also event if directory name matches. (file-notify-add-watch): Add `create' to the flags for `kqueue'. * src/kqueue.c (kqueue_generate_event): Use watch_object as argument instead of ident. Remove callback argument. Adapt callees. Check actions whether they are monitored flags. * test/automated/file-notify-tests.el (file-notify--test-library): New defun. (file-notify-test00-availability, file-notify-test02-events) (file-notify-test04-file-validity) (file-notify-test05-dir-validity): Use it. (file-notify-test02-events, file-notify-test04-file-validity): Add `read-event' calls between different file actions, in order to give the backends a chance to rais an event. Needed especially for kqueue. In case of deleting a directory, there are two `deleted' events.
| * Code cleanup of kqueue.cMichael Albinus2015-11-171-52/+57
| | | | | | | | | | | | | | | | * src/kqueue.c (kqueue_directory_listing): Skip "." and "..". (kqueue_compare_dir_list): Do not loop when calling directory_files_internal. Remove checks for "." and "..", this is done in kqueue_directory_listing now. (Fkqueue_add_watch): Check for proper emacs_open flags.
| * Doc changes for kqueueMichael Albinus2015-11-161-19/+22
| | | | | | | | | | * doc/lispref/os.texi (File Notifications): Add kqueue as backend. Fix some glitches in the example.
| * Finish implementation in kqueue.cMichael Albinus2015-11-161-23/+35
| | | | | | | | | | | | | | | | * src/kqueue.c (kqueue_directory_listing, kqueue_callback): Simplify access to list. (kqueue_compare_dir_list): Simplify access to list. Raise `delete' event if directory does not exist any longer. Otherwise, wait until directory contents has changed. Fix error in check.
| * * lisp/filenotify.el (file-notify-add-watch): Fix thinko.Michael Albinus2015-11-161-2/+2
| |
| * More work on kqueueMichael Albinus2015-11-152-62/+149
| | | | | | | | | | | | | | | | | | | | * lisp/filenotify.el (file-notify-callback): Handle also the `rename' event from kqueue. (file-notify-add-watch): Do not register an entry twice. * src/kqueue.c (kqueue_directory_listing): New function. (kqueue_generate_event): New argument FILE1. Adapt callees. (kqueue_compare_dir_list): Rewrite in order to make it more robust.
| * Implement directory eventsMichael Albinus2015-11-142-32/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/filenotify.el (file-notify-handle-event) (file-notify-callback): Remove traces. * src/kqueue.c: Include <sys/time.h>. (kqueue_generate_event, kqueue_compare_dir_list): New functions. (kqueue_callback): Use them. Call kevent() with a zero timeout. (Fkqueue_add_watch): Adapt docstring. Support directory events. Compute initial directory listing. Close file descriptor in case of errors. (syms_of_kqueue): Declare Qcreate.
| * Build fixes for kqueue support.Wolfgang Jenkner2015-11-112-1/+8
| | | | | | | | | | | | | | | | * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3) flag. * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native kqueue on *BSD.
| * Continue kqueue implementationMichael Albinus2015-11-112-41/+43
| | | | | | | | | | | | | | | | | | | | * lisp/filenotify.el (file-notify-handle-event) (file-notify-callback): Enable trace messages. * src/kqueue.c: Include also <sys/types.h>. (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME. (Fkqueue_rm_watch, Fkqueue_valid_p): New functions. (syms_of_kqueue): Add them.
| * Work on kqueueMichael Albinus2015-11-113-189/+125
| | | | | | | | | | | | | | | | | | * lisp/filenotify.el (file-notify--library) (file-notify-descriptors, file-notify-callback) (file-notify-add-watch, file-notify-rm-watch) (file-notify-valid-p): Add kqueue support. * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
| * Add kqueue supportMichael Albinus2015-11-115-33/+400
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (--with-file-notification): Add kqueue. (top): Remove special test for "${HAVE_NS}" and ${with_file_notification}, this is handled inside gfilenotify tests. Add kqueue tests. Use NOTIFY_CFLAGS and NOTIFY_LIBS instead of library specific variables. * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS. * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue. * src/kqueue.c: New file. * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
* | Some final fixes in file notification before merging with masterMichael Albinus2015-11-253-114/+239
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg. (file-notify-callback): Improve check for `stopped' event. Call `file-notify-rm-watch' rather than `file-notify--rm-descriptor'. (file-notify-add-watch): In case FILE is not a directory, call the file monitor for the kqueue backend. Otherwise, call the directory monitor for the upper directory. * src/inotify.c (inotifyevent_to_event): Extract file name from watch_object if the event doesn't provide it. (Finotify_add_watch): Add file name to watch_object. * test/automated/file-notify-tests.el (file-notify--test-timeout): Use different timeouts for different libraries. (file-notify--test-with-events): Suppress lock files. Flush outstanding events before running the body. (file-notify-test02-events, file-notify-test04-file-validity): Do not skip cygwin tests. Add additional test for file creation. Adapt expected result for different backends. (file-notify-test03-autorevert): Some of the tests don't work for w32notify. (file-notify-test06-many-events): Rename into both directions.
* | Rework file notifications, kqueue has problems with directory monitorsMichael Albinus2015-11-254-148/+203
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/filenotify.el (file-notify-add-watch): Call the native add-watch function on the file, not on the dir. * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping about already deleted entries. * test/automated/auto-revert-tests.el (auto-revert-test01-auto-revert-several-files): Do not call "cp -f" since this deletes the target file first. * test/automated/file-notify-tests.el (file-notify--test-event-test): Make stronger checks. (file-notify-test01-add-watch, file-notify-test02-events) (file-notify-test04-file-validity, file-notify-test05-dir-validity): Rewrite in order to call file monitors but directory monitors. (file-notify-test06-many-events): Ler rename work in both directions.
* | Continie with pending eventsMichael Albinus2015-11-251-14/+31
| | | | | | | | | | | | | | * src/kqueue.c (pending_events): Remove global variable. (kqueue_compare_dir_list): Create `write' event for not used pending events. (globals_of_kqueue): Remove initialization of pending_events.
* | Improve loops in file-notify-test06-many-eventsMichael Albinus2015-11-251-5/+7
| | | | | | | | | | | | * test/automated/file-notify-tests.el (file-notify-test06-many-events): Use `read-event' pauses for the `write-file' loops; otherwise events are lost in inotify and gfilenotify cases.
* | Handle more complex rename operation in kqueueMichael Albinus2015-11-252-12/+23
| | | | | | | | | | | | | | | | | | | | * src/kqueue.c (pending_events): New variable. (kqueue_compare_dir_list): Handle more complex rename operation. (globals_of_kqueue): Initialize pending_events. * test/automated/file-notify-tests.el (file-notify-test06-many-events): Adapt expected events in the `rename-file' case. (file-notify-test06-many-events-remote): Declare.
* | New test with a larger number of events.Wolfgang Jenkner2015-11-251-1/+40
| | | | | | | | | | | | | | * test/automated/file-notify-tests.el (file-notify--test-with-events): Make timeout heuristically depend on the number of events. (file-notify-test06-many-events): Use it for new test.
* | Further fixes for kqueue.Michael Albinus2015-11-253-55/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/filenotify.el (file-notify-callback): Raise also event if directory name matches. (file-notify-add-watch): Add `create' to the flags for `kqueue'. * src/kqueue.c (kqueue_generate_event): Use watch_object as argument instead of ident. Remove callback argument. Adapt callees. Check actions whether they are monitored flags. * test/automated/file-notify-tests.el (file-notify--test-library): New defun. (file-notify-test00-availability, file-notify-test02-events) (file-notify-test04-file-validity) (file-notify-test05-dir-validity): Use it. (file-notify-test02-events, file-notify-test04-file-validity): Add `read-event' calls between different file actions, in order to give the backends a chance to rais an event. Needed especially for kqueue. In case of deleting a directory, there are two `deleted' events.
* | Code cleanup of kqueue.cMichael Albinus2015-11-251-52/+57
| | | | | | | | | | | | | | | | * src/kqueue.c (kqueue_directory_listing): Skip "." and "..". (kqueue_compare_dir_list): Do not loop when calling directory_files_internal. Remove checks for "." and "..", this is done in kqueue_directory_listing now. (Fkqueue_add_watch): Check for proper emacs_open flags.
* | Doc changes for kqueueMichael Albinus2015-11-251-19/+22
| | | | | | | | | | * doc/lispref/os.texi (File Notifications): Add kqueue as backend. Fix some glitches in the example.
* | Finish implementation in kqueue.cMichael Albinus2015-11-251-23/+35
| | | | | | | | | | | | | | | | * src/kqueue.c (kqueue_directory_listing, kqueue_callback): Simplify access to list. (kqueue_compare_dir_list): Simplify access to list. Raise `delete' event if directory does not exist any longer. Otherwise, wait until directory contents has changed. Fix error in check.
* | * lisp/filenotify.el (file-notify-add-watch): Fix thinko.Michael Albinus2015-11-251-2/+2
| |
* | More work on kqueueMichael Albinus2015-11-252-62/+149
| | | | | | | | | | | | | | | | | | | | * lisp/filenotify.el (file-notify-callback): Handle also the `rename' event from kqueue. (file-notify-add-watch): Do not register an entry twice. * src/kqueue.c (kqueue_directory_listing): New function. (kqueue_generate_event): New argument FILE1. Adapt callees. (kqueue_compare_dir_list): Rewrite in order to make it more robust.
* | Implement directory eventsMichael Albinus2015-11-252-32/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/filenotify.el (file-notify-handle-event) (file-notify-callback): Remove traces. * src/kqueue.c: Include <sys/time.h>. (kqueue_generate_event, kqueue_compare_dir_list): New functions. (kqueue_callback): Use them. Call kevent() with a zero timeout. (Fkqueue_add_watch): Adapt docstring. Support directory events. Compute initial directory listing. Close file descriptor in case of errors. (syms_of_kqueue): Declare Qcreate.
* | Build fixes for kqueue support.Wolfgang Jenkner2015-11-252-1/+8
| | | | | | | | | | | | | | | | * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3) flag. * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native kqueue on *BSD.
* | Continue kqueue implementationMichael Albinus2015-11-252-41/+43
| | | | | | | | | | | | | | | | | | | | * lisp/filenotify.el (file-notify-handle-event) (file-notify-callback): Enable trace messages. * src/kqueue.c: Include also <sys/types.h>. (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME. (Fkqueue_rm_watch, Fkqueue_valid_p): New functions. (syms_of_kqueue): Add them.
* | Work on kqueueMichael Albinus2015-11-253-189/+125
| | | | | | | | | | | | | | | | | | * lisp/filenotify.el (file-notify--library) (file-notify-descriptors, file-notify-callback) (file-notify-add-watch, file-notify-rm-watch) (file-notify-valid-p): Add kqueue support. * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
* | Add kqueue supportMichael Albinus2015-11-255-33/+400
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (--with-file-notification): Add kqueue. (top): Remove special test for "${HAVE_NS}" and ${with_file_notification}, this is handled inside gfilenotify tests. Add kqueue tests. Use NOTIFY_CFLAGS and NOTIFY_LIBS instead of library specific variables. * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS. * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue. * src/kqueue.c: New file. * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
* | Minor fix to comment indentation and typo in last commitJoão Távora2015-11-171-2/+2
| | | | | | | | | | * linum.el (linum-update-window): Fix comment indentation and a typo.
* | linum-mode plays more nicely with other margin-setting extensionsJoão Távora2015-11-171-5/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | linum.el will only modify the left margin if it needs to, and will only reset the it back to 0 if it guesses that no-one has touched that margin in the meantime. As such, this is a more of a workaround than an actual fix, but fixes the problems described in bug#20674 regarding the interaction with modes such as darkroom-mode and olivetti-mode. A similar fix was commited to nlinum.el in ELPA.git's e7f5f549fbfb740b911fb7f33b42381ecece56d8 * linum.el (linum-delete-overlays): Restore margins more criteriously. (linum-update-window): Set margins more criteriously.
* | * lisp/image-mode.el: Support encrypted fileDaiki Ueno2015-11-171-1/+6
| | | | | | | | | | (image-toggle-display-image): Read content from the buffer instead of the file, if the buffer holds a decrypted data. (Bug#21870)
* | * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquoteJuanma Barranquero2015-11-161-1/+1
| |
* | ; ChangeLog.2 fixesJuanma Barranquero2015-11-161-96/+81
| |
* | * lisp/emacs-lisp/package.el: Fix a decoding issueArtur Malabarba2015-11-152-26/+32
| | | | | | | | | | | | | | | | | | | | | | (package--with-response-buffer): Use `url-insert-buffer-contents'. The previous code had some issues with decoding. Refactoring that function allows us to use the decoding from url-handlers while still treating both sync and async requests the same. * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to `url-insert-buffer-contents'. (url-insert-buffer-contents): New function
* | * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-asyncArtur Malabarba2015-11-151-82/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (package--with-work-buffer-async): Reimplement as `package--with-response-buffer'. (package--with-work-buffer): Mark obsolete. (package--with-response-buffer): New macro. This is a more self contained and less contrived version of `package--with-work-buffer-async'. It uses keyword arguments, doesn't have async on the name, doesn't fallback on `package--with-work-buffer', and has _much_ simpler error handling. (package--check-signature, package--download-one-archive) (package-install-from-archive, describe-package-1): Use it. (package--download-and-read-archives): Let `package--download-one-archive' take care of calling `package--update-downloads-in-progress'.
* | * lisp/progmodes/verilog-mode.el: Use with-silent-modificationsStefan Monnier2015-11-151-19/+27
| | | | | | | | | | | | (verilog-save-buffer-state): Use with-silent-modifications when available. (verilog-save-font-no-change-functions): Don't bind before/after-change-functions if it's not needed.
* | ; Auto-commit of ChangeLog files.Glenn Morris2015-11-151-1/+1047
| |
* | * CONTRIBUTE: Remove information about feature freeze.Xue Fuqiao2015-11-151-7/+0
| |
* | Merge branch 'release-process-lowercase'Xue Fuqiao2015-11-156-128/+182
|\ \ | | | | | | | | | | | | ; Rename admin/FOR-RELEASE to admin/release-process and document the ; release process
| * | Document the release processXue Fuqiao2015-11-156-14/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | * admin/notes/versioning: Add information about RC releases. * admin/release-process: Document the release process. * admin/authors.el (authors-ignored-files): * admin/README: Change FOR-RELEASE to release-process. * CONTRIBUTE: * admin/notes/bugtracker: Don't mention FOR-RELEASE.
| * | * admin/release-process: Rename from admin/FOR-RELEASE.Xue Fuqiao2015-11-151-114/+114
| | |
* | | gitmerge: Fix git log commandDavid Engster2015-11-141-3/+3
| | | | | | | | | | | | | | | | | | | | | * admin/gitmerge.el (gitmerge-missing): Use '--left-only' since we only want commits from the branch that is to be merged. (gitmerge-setup-log-buffer): Use the same symmetric range as in `gitmerge-missing'.
* | | gitmerge: Try to detect cherry-picksDavid Engster2015-11-141-3/+3
| | | | | | | | | | | | | | | | | | | | | * admin/gitmerge.el (gitmerge-default-branch): Change to origin/emacs-25. (gitmerge-missing): Use symmetric difference ('...') between branch and master so that cherry-picks can be detected.