Commit graph

13113 commits

Author SHA1 Message Date
Eelco Dolstra
24b739817f
Fix double free in Store::queryPathInfo()
It was holding on to a Value* (i.e. a std::shared_ptr<ValidPathInfo>*)
outside of the pathInfoCache lock, so the std::shared_ptr could be
destroyed between the release of the lock and the decrement of the
std::shared_ptr refcount. This can happen if more than
'path-info-cache-size' paths are added in the meantime, *or* if
clearPathInfoCache() is called. The hydra-queue-runner queue monitor
thread periodically calls the later, so is likely to trigger a crash.

Fixes https://github.com/NixOS/hydra/issues/542.
2018-03-09 14:19:51 +01:00
Eelco Dolstra
dc83c8eea5
Merge pull request #1959 from redfish64/master
Modified MakeBinOp to no longer produce its name using concatenation …
2018-03-09 14:06:44 +01:00
Vincent Ambo
a1d9d8b199 feat(build): Build both derivations on Travis 2018-03-09 13:35:35 +01:00
Vincent Ambo
4a6db37ef7 chore: Remove legacy build system 2018-03-09 13:35:35 +01:00
Vincent Ambo
d7f19934d9 feat(build): Add Nix derivation for release builds
Adds a Nix derivation that produces statically linked output binaries
for multiple operating systems and architectures.

This requires a Nix-channel version that includes the Go 1.10
compiler.
2018-03-09 13:35:35 +01:00
Vincent Ambo
4b1d44f71b refactor(build): Add Nix derivation & configure Travis to build it
Adds a Nix-derivation for building kontemplate with dependencies
pinned in Nix.
2018-03-09 13:35:35 +01:00
Vincent Ambo
58d825d5dd feat(bindings): Bind align-regexp & browse-url-* functions to keys 2018-03-09 11:09:45 +01:00
Vincent Ambo
97da0904f9 feat(init): Start edit-server on launch 2018-03-09 11:09:32 +01:00
Vincent Ambo
4b1a1522cc feat(desktop): Enable Russian keyboard layout 2018-03-09 11:09:04 +01:00
Vincent Ambo
9def7c32eb feat(emacs): Install edit-server
Install edit-server package for use with the "Edit in Emacs" Firefox
extension.
2018-03-09 11:08:47 +01:00
Tim Engler
383afab9ad Modified MakeBinOp to no longer produce its name using concatenation and "##".
Doing so prevents emacs tags from working, as well as makes the code extremely
confusing for a newbie.

In the prior state, if someone wants to find the definition of "ExprApp" for
example, a grep through the code reveals nothing. Since the definition could be
hiding in numerous ".h" files, it's really difficult to find. This personally
took me several hours to figure out.
2018-03-09 03:16:33 +00:00
Chris Feng
2f430db735 Minor fixes 2018-03-09 01:06:39 +08:00
Eelco Dolstra
16551f54c9
Fix #1957 2018-03-07 11:40:50 +01:00
Eelco Dolstra
4452f6e855
Merge pull request #1955 from dtzWill/fix/rand-random
rand() -> random(), since we use srandom().
2018-03-07 11:00:08 +01:00
Will Dietz
56253bb08f rand() -> random(), since we use srandom().
rand() requires we call srand() instead,
but might as well use random().
2018-03-06 17:44:25 -06:00
Abseil Team
94f0f79ecd Changes imported from Abseil "staging" branch:
- aba727a5943a014392e3873349cee9dd5efc634e Avoid using 128-bit intrinsics for Clang on Windows. by Abseil Team <absl-team@google.com>
  - cdd19f1eda562af8906bff8feff827eb8e8e9797 Utilize the rtems TID infrastructure on myriad2 platforms. by Abseil Team <absl-team@google.com>
  - 52f7f55daa84ea25fa210d1b9d2bd64d128e1d81 Use intrinsic 128 bit integer when available for division... by Alex Strelnikov <strel@google.com>
  - 51f881b1152c0c861cf7fcac53f30d3c7ce12902 Merge GitHub #95: Fix compiler version check for clang-cl... by Derek Mauro <dmauro@google.com>

GitOrigin-RevId: aba727a5943a014392e3873349cee9dd5efc634e
Change-Id: I9b52d84095537acbbc96d3f74917f78da9a51156
2018-03-06 17:21:05 -05:00
Will Dietz
e917c05628 logging: Don't throw from Activity destructor
Move definition of destructor to logging.cc for
access to util.hh's ignoreException.
2018-03-06 10:42:58 -06:00
Vincent Ambo
602b8b4ef0 fix(pkgs): Remove outdated nix-mode from Nix package
See https://github.com/NixOS/nixpkgs/issues/36372 for details
2018-03-06 12:33:27 +01:00
Vincent Ambo
92ae9eed7a feat(emacs): Add custom nix-mode derivation
Adds a nix-mode derivation that uses the latest nix-mode from master.
2018-03-06 12:09:03 +01:00
Adrián Medraño Calvo
7aae6efdcd Support replacing and being replaced by other window managers
* exwm.el (exwm--on-SelectionClear, exwm--init-icccm-ewmh)
(exwm--exit-icccm-ewmh, exwm--wmsn-acquire, exwm--wmsn-release):
Get the window manager selection; die when it is cleared.
2018-03-06 00:00:00 +00:00
Adrián Medraño Calvo
350950abfc Clean up when failing to start
* exwm.el (exwm-init, exwm-exit): Clean up when failing to start.
(exwm--exit-icccm-ewmh): Stop deleting root window properties on
exit: delete function.
2018-03-06 00:00:00 +00:00
Adrián Medraño Calvo
cf98e3d921 Name all helper windows created by EXWM
* exwm-workspace.el (exwm-workspace--add-frame-as-workspace)
(exwm-workspace--init):
* exwm-input.el (exwm-input--init):
* exwm-floating.el (exwm-floating--set-floating): Name created
helper windows with prefix "EXWM".
2018-03-06 00:00:00 +00:00
Adrián Medraño Calvo
587a8cad1d Add interactive commands for starting and stopping EXWM
* exwm.el (exwm-reset): Remove autoload cookie.
(exwm-init, exwm-exit): Add autoload cookie and interactive
declaration.
2018-03-06 00:00:00 +00:00
Adrián Medraño Calvo
ce8af83ffb Disconnect on `exwm--exit'
* exwm.el (exwm-exit): Disconnect `exwm-connection'.
* exwm.el (exwm-init, exwm-exit, exwm--confirm-kill-emacs)
* exwm-workspace.el (exwm-workspace--set-desktop-geometry)
(exwm-workspace--init, exwm-workspace--exit): Move
`confirm-kill-emacs' to this exwm.el`.  Delegate disconnection of
`exwm--connection' to `exwm-exit'.
2018-03-06 00:00:00 +00:00
Adrián Medraño Calvo
a2b6cfb878 * exwm.el (exwm--exit): Drop SubstructureRedirect on root window. 2018-03-06 00:00:00 +00:00
Adrián Medraño Calvo
a51be88c1e Cleanup exwm-workspace on exit
* exwm-workspace.el (exwm-workspace--confirm-kill-emacs): Move
deinitialization to `exwm-workspace--exit'.
(exwm-workspace--exit): Reparent minibuffer frame to the root
window, turn workspace frames into regular frames, restore frame
parameters.
(exwm-workspace--init): Reset the fullscreen counter.
(exwm-workspace--remove-frame-as-workspace): Reset fullscreen
state.
(exwm-workspace--init-minibuffer-frame)
(exwm-workspace--exit-minibuffer-frame): New functions configuring
the minibuffer frame.
(exwm-workspace--init, exwm-workspace--exit): Use the above
functions to configure the minibuffer frame.
2018-03-06 00:00:00 +00:00
Adrián Medraño Calvo
33a1a28476 Dissociate frame creation and deletion handlers from the actual configuration of frames as workspaces
* exwm-workspace.el (exwm-workspace--add-frame-as-workspace)
(exwm-workspace--remove-frame-as-workspace): Limit functionality
to the configuration of frames as workspaces.
(exwm-workspace--on-after-make-frame)
(exwm-workspace--on-delete-frame): Callbacks run on frame creation
and deletion that may use or stop them from being used as
workspaces.
2018-03-06 00:00:00 +00:00
Adrián Medraño Calvo
d3be64e743 Factor out `exwm-randr--on-ScreenChangeNotify'
* exwm-randr.el (exwm-randr--on-ScreenChangeNotify)
(exwm-randr--init): Factor ScreenChangeNotify event callback into
a function.
2018-03-06 00:00:00 +00:00
Adrián Medraño Calvo
4f7abf4bfd Cleanup exwm-manage on exit
* exwm-manage.el (exwm-manage--unmanage-window): Map windows when
quitting.
(exwm-manage--exit): Remap all windows.

* exwm.el (exwm--exit): Reorder deinitialization sequence so that
windows are reparented before the workspaces are removed.
2018-03-06 00:00:00 +00:00
Adrián Medraño Calvo
c00331a7e6 Cleanup exwm-layout on exit
* exwm-layout.el (exwm-layout--exit): Remove
`window-pixel-width-before-size-change' hook.
2018-03-06 00:00:00 +00:00
Adrián Medraño Calvo
81529c2e89 Cleanup exwm-input on exit
* exwm-input.el (exwm-input--exit): Remove missing hook reset window
variable.
2018-03-06 00:00:00 +00:00
Adrián Medraño Calvo
4660e040a0 Prevent duplicate keys in frameset-filter-alist
* exwm-workspace.el (exwm-workspace--init):
* exwm-randr.el (exwm-randr--init): Prevent duplicate keys in
frameset-filter-alist
2018-03-06 00:00:00 +00:00
Eelco Dolstra
70dbac7491
Merge pull request #1948 from shlevy/no-forward
ssh-ng: Don't forward options to the daemon.
2018-03-05 18:23:00 +01:00
Adrián Medraño Calvo
dd0f10775a Support disabling default `exwm-mode-map' bindings
* exwm-input.el (exwm-input--on-KeyPress-line-mode): Use
`lookup-key' to check whether a the event is defined in the
`exwm-mode-map' keymap.
2018-03-06 00:04:36 +08:00
Shea Levy
088ef81759
ssh-ng: Don't forward options to the daemon.
This can be iterated on and currently leaves out settings we know we
want to forward, but it fixes #1713 and fixes #1935 and isn't
fundamentally broken like the status quo. Future changes are suggested
in a comment.
2018-03-05 07:42:15 -05:00
Vincent Ambo
bcd317f23d refactor(pkgs): Add wallpapers to top-level package set 2018-03-04 22:09:18 +01:00
Vincent Ambo
0937f19408 feat(pkgs/emacs): Add Haskell development packages 2018-03-04 19:32:19 +01:00
Chris Feng
57328b439f Avoid switching buffer when moving an X window already in place
* exwm-workspace.el (exwm-workspace-move-window): This is required
when calling `exwm-workspace-move-window' from `exwm-layout--refresh'.
2018-03-04 21:59:19 +08:00
Chris Feng
46fe764634 Fix fullscreen mode after switching workspace and back
* exwm-layout.el (exwm-layout--show): Always set an X window in
fullscreen mode the size in fullscreen.
(exwm-layout-unset-fullscreen): Leave the fullscreen mode first.

* exwm-layout.el (exwm-layout--fullscreen-p): New function telling
whether the current buffer is in fullscreen mode.
(exwm-layout-set-fullscreen, exwm-layout-unset-fullscreen)
(exwm-layout-toggle-fullscreen):
* exwm-manage.el (exwm-manage--manage-window)
(exwm-manage--on-ConfigureRequest):
* exwm-workspace.el (exwm-workspace-switch, exwm-workspace-swap)
(exwm-workspace-move):
* exwm.el (exwm-reset, exwm--on-ClientMessage): Use it.
2018-03-04 12:29:24 +08:00
Chris Feng
277377c718 Fix local simulation keys
* exwm-input.el (exwm-input--set-simulation-keys): Try the local
binding first do not clear the hash table (rely on GC).
2018-03-04 12:21:53 +08:00
Vincent Ambo
57c047b5fd fix(emacs): Use custom sly derivations
The upstream sly derivations don't seem to work. This adds custom
build instructions for the sly and sly-company Emacs packages.
2018-03-04 01:53:41 +01:00
Vincent Ambo
8f7a720fcf fix: Make custom emacs available on system $PATH 2018-03-04 00:33:19 +01:00
Vincent Ambo
82c6a5e3d5 chore(custom): Remove package-related settings
Remove settings that are no longer needed after migrating package
installations to Nix.
2018-03-04 00:28:52 +01:00
Vincent Ambo
845fa34448 feat(custom): Set term-mode colour scheme to Gruber Darker 2018-03-04 00:15:35 +01:00
Vincent Ambo
fc76db3d96 refactor(init): Remove package installation configuration
Package installation has moved to my NixOS configuration.
2018-03-04 00:14:13 +01:00
Vincent Ambo
95eedea9ac feat(emacs): Install required emacs packages via Nix 2018-03-04 00:07:38 +01:00
Will Dietz
e9a5ce9b07 release.nix: don't try to use nix-2.0 branch, no longer exists
Probably should point at the 18.03 release branch once that's made.
2018-03-03 13:48:54 -06:00
Chris Feng
7013b0122a Add header-line format support in per-application configurations
* exwm-manage.el (exwm-manage-configurations):
* exwm-floating.el (exwm-floating--set-floating)
(exwm-floating--unset-floating): Allow customizing header-line format
for floating/tiling X windows.
2018-03-04 01:39:12 +08:00
Chris Feng
cc974555db Add prefix arguments support for various commands
* exwm-workspace.el (exwm-workspace-switch)
(exwm-workspace-switch-create, exwm-workspace-move)
(exwm-workspace-move-window): Add prefix arguments support.
2018-03-04 01:36:36 +08:00
Vincent Ambo
9042d0a987 chore(adho): Update office wifi configuration 2018-03-03 15:37:38 +01:00