| Commit message (Collapse) | Author | Age | Files | Lines |
| |\
| |
| |
| | |
scratch/kqueue
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
* 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/lispref/os.texi (File Notifications): Add kqueue as backend.
Fix some glitches in the example.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
* 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-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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
* 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/lispref/os.texi (File Notifications): Add kqueue as backend.
Fix some glitches in the example.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
* 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-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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| |
| | |
* linum.el (linum-update-window): Fix comment indentation and a
typo.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| | |
(image-toggle-display-image): Read content from the buffer instead
of the file, if the buffer holds a decrypted data. (Bug#21870)
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
(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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
(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'.
|
| | |
| |
| |
| |
| |
| | |
(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.
|
| | | |
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | | |
; Rename admin/FOR-RELEASE to admin/release-process and document the
; release process
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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/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'.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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.
|