aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2020-01-14lib9: make formatting lock-free againRuss Cox4-124/+83
First use of <stdatomic.h>. We will see if any supported systems don't have it yet. (C11 was so last decade.) Fixes #338.
2020-01-14acme: save/restore multiline tags in Dump/LoadRuss Cox1-4/+16
The dump substitutes each \n in a multiline tag with a 0xff byte. Since it is not valid UTF it cannot occur in an ordinary dump file. Old acmes will just read it in as an error rune. Fixes #135. Fixes #153.
2020-01-14tar: remove /bin/ when invoking compressorsphonologus1-6/+1
2020-01-14libthread: use mmap to allocate OpenBSD stacksRuss Cox6-8/+61
Should fix faults on OpenBSD. Fixes #218. Fixes #226.
2020-01-14libdraw: use proper pipe for default font dataRuss Cox1-6/+16
May fix a deadlock / missing font on OpenBSD. Fixes #308.
2020-01-14devdraw: do not force-hide menu and dock during full screen on macRuss Cox1-3/+15
This hides the menu on dock on all screens which is more than we want. The code was added to fix a problem with Catalina that I can no longer reproduce, so I guess it works now. Fixes #336.
2020-01-13devdraw: hide dock in full screen modeRuss Cox1-0/+13
Unfortunately this hides the dock even if it is on a different screen. We need to figure out how to tell. But this is more usable than not. Probably.
2020-01-13devdraw: correctly hide Mac menu bar (#335)Xiao-Yong1-9/+9
`window:willUseFullScreenPresentationOptions:` is an instance method of the protocol `NSWindowDelegate`.
2020-01-13libthread: fix fault in teardown of procRuss Cox2-1/+2
Fixes #332.
2020-01-13acme: fix buffer overflow introduced in parsetag refactorRuss Cox3-8/+8
2020-01-13acme: fix movetodel for spaces in file namesRuss Cox1-11/+8
2020-01-13acme: allow spaces in window namesRuss Cox2-5/+20
There are many things we could do to make this work. an environment variable to control the character. Another option would be to use U+00A0 (non-breaking space), which renders the same as space. This change avoids changing the separator character and instead assumes that if the left side of the tag already ends in " Del Snarf |" then what comes before that is the file name. Acme already aggressively preserves the "Del Snarf |", so this should work decently well as a stop-gap. We can always try something else later. Fixes #26. Fixes #104. Fixes #329.
2020-01-13mk: fix hash function (#315)Neven Sajko1-7/+3
Avoid signed integer overflow using ulong instead of long h.
2020-01-13acme: one more place to use parsetagRuss Cox1-5/+1
2020-01-13acme: factor out tag parsing codeRuss Cox3-21/+28
2020-01-13lib9: do not fetch disk size for character devicesRuss Cox1-1/+1
Real disk devices should be block devices anyway. One user reported the disksize check causing a system reboot during vac of a tree with an "interesting" device. Fixes #103.
2020-01-13mk: treat X= as empty list in rc shellRuss Cox1-6/+12
This brings mk's behavior when using rc in line with Plan 9's. The existing code is for Unix environment data structures but also was assuming Unix shell semantics where empty and missing variables are mostly equivalent. The Plan 9 code (/sys/src/cmd/mk/plan9.c in the distribution) explicitly removes /env/name (creating an empty list) when the value is missing or an empty string. Fixes #255.
2020-01-13acme: fix crash in X |cat with multiple windowsRuss Cox1-5/+24
Fixes #9. Fixes #219. Fixes #222. Fixes #330.
2020-01-13vac, unvac: allow 128MB cache size, up from 4MBRuss Cox2-2/+2
When a directory has lots of children, vac crashes because it runs out of cache. Fixes #266.
2020-01-139pfuse: do not fswalk("..")Russ Cox1-12/+5
f is open, so walk will fail. The comments say we only need one directory anyway. Fixes #277.
2020-01-13libthread: fix nbrecvul, recvul to match man page, Plan 9Russ Cox1-2/+2
They return 0 on failure, not -1. Bug introduced in my original libthread-for-Unix code. Fixes #230.
2020-01-13cmd/9pfuse: ignore FMODE_EXEC open flagNicola Girardi1-2/+11
Improved error message in case of unexpected open flags. The message unexpected open flags requested=0100040 unhandled=040 prompted me to clear the FMODE_EXEC flag, although I wonder if I shouldn't have set OEXEC (0x3) instead.
2020-01-13clock: import from plan 9Russ Cox1-0/+104
Fixes #250.
2020-01-13lib9: rm unused _p9translate.cRuss Cox1-46/+0
Fixes #238.
2020-01-13devdraw: AUTOFRAMEWORK CoreFoundation on macOSRuss Cox1-0/+1
Fixes #273.
2020-01-13devdraw: x11 working againRuss Cox14-2340/+1844
Need to think a bit more about locking, but overall it's a working devdraw. Multiclient mode may not be working but nothing is using it yet.
2020-01-13devdraw: multiclient modeRuss Cox3-42/+115
2020-01-13cmapcube: don't crash on initdraw failureRuss Cox1-1/+2
2020-01-13libdraw: connect to devdraw via $wsysid when setRuss Cox2-1/+79
2020-01-13devdraw: more cleanup, clearer lockingRuss Cox8-313/+329
2020-01-13devdraw: refactor, clean up mac screenRuss Cox7-505/+492
Also turn mac-srv.c into a generic srv.c, so we can remove the duplication with x11-srv.c.
2020-01-13devdraw: move per-window globals in mac-screen.m into ClientRuss Cox3-62/+81
2020-01-13devdraw: move Client into devdraw.h and move global state inRuss Cox10-464/+470
2020-01-13devdraw: use consistent mac-* prefix on macOS filesRuss Cox12-200/+6
We were using osx- and cocoa- but it's not even OS X anymore.
2020-01-13devdraw: can use libthread directly now on macOSRuss Cox5-79/+13
2020-01-13devdraw: simplify mac file namesRuss Cox4-98/+5
Now that we only have Metal, we can drop the -metal. Also now that Carbon is gone we can drop the macargv.c, and then the -objc from object file names.
2020-01-13devdraw: drop pre-metal macOS supportRuss Cox3-1688/+5
We didn't start using Metal until macOS 10.14, but it was available on 10.13, which is currently the oldest Apple-supported version of macOS. Simplify by deleting the old code.
2020-01-13devdraw: update drawclient test program to run againRuss Cox2-9/+8
2020-01-13cmd/yacc: correctly detect end of file in gettokNeven Sajko1-0/+2
This prevents an infinite loop. Change-Id: I7eda6b9d032ca0daeb24b555954330d07f35c78b
2020-01-13cmd/yacc: check that arg is safe to pass to <ctype.h> isX functionsNeven Sajko1-5/+14
The functions from <ctype.h> require that their argument be representable as an unsigned char, anything else is an error. Change-Id: I9dafc49c431b7a2550b041603f27bac3c0010eea
2020-01-13cmd/yacc: check for EOF in string constant in cpyactNeven Sajko1-1/+1
Change-Id: I3b41ab3f181080bcff89201d30f0bdf8aa20d55c
2020-01-13cmd/yacc: do not create an out of bounds pointerNeven Sajko1-1/+2
An out of bounds pointer/array index being created is an error in standard C. Updates #313 Change-Id: I7108fcde1a8e03017e9ab852adb737940489c827
2020-01-13lib9/fmt: avoid racy access to installed fmt formatsRuss Cox4-22/+55
2020-01-13lib9: fix memory leak in dial of regular file (#284)jvd231-1/+3
2020-01-13fontsrv: allow x11 hinting and disable autohint only (#254)Xiao-Yong1-1/+1
Some truetype fonts have good manual hinting. Ignoring hinting makes the font render badly on low resolution screens. This commit only disables the freetype autohinter, and allows hinting.
2020-01-13Make venti's doc more accurateEdouard Klein1-1/+1
2020-01-13cmd/venti/srv: split memory allocation callNeven Sajko1-2/+2
This splits a certain vtmallocz call in mkihash into two vtmallocz calls. The first issue this fixes is that the C aliasing rules were not respected in the code before this commit. The other thing is that this enables better memory alignment guarantees. Updates #313 Change-Id: Ia4f3e0fc85facc778193f5e977d4f99a1a9abd23
2020-01-12libdraw: fix "mk"Russ Cox1-2/+1
Should default to building the library, not getsubfont.o.
2020-01-12libthread: run first thread in proc on system stackRuss Cox3-17/+47
For pthread systems that are fussy about which stack is used, this makes sure that threadmain runs on a system stack. If you only use proccreate (never threadcreate), all threads run on system stacks.
2020-01-12lib9: make a p9frexp function wrapping system frexpRuss Cox2-0/+10
Under certain conditions it looks like frexp gets #defined to something else on macOS during system headers, which then breaks the declaration in libc.h.