Age | Commit message (Collapse) | Author |
|
* introduce RP_IS_UTF8_{CHAR,CONT,START} macros. Those yield non-zero
only if the locale is UTF-8.
* use those macros in editor.c to properly handle UTF-8 multibyte
characters.
* use them also in input.c:update_input_window, to draw the cursor
Reviewing and comments are welcome.
Patches for generic support of multibyte encodings are welcome too.
UTF-8 was chosen because of its processing simplicity and its wide use,
not because of any political opinion or religious belief. ;)
|
|
|
|
|
|
|
|
|
|
* don't dereference it if NULL, as in unmap_notify
|
|
* set last_msg to NULL after freeing it
* no need to test for last_msg being NULL before freeing it
(likewise in update_last_message)
|
|
* this is consistent with surrounding code, and helps code analyzers
not to barf about possible memory leaks
|
|
* if s and last are both NULL then we'll get a fatal error;
instead of waiting for the segfault, display an error message
and call abort()
|
|
* otherwise specifying -d or -f more than once would lead to
a memory leak
|
|
|
|
* cmd_definekey: actually use cmd
* cmd_meta: remove ev1
* cmd_resize: remove nbytes
* cmd_ratrelwarp: remove s
* draw_string: remove lgv, lgc, mask; lgc wasn't XFreeGC'ed
* get_more_input: remove nbytes
* cleanup_frame: remove last_win
* get_window_list: remove other_window
Patch from Bernhard R. Link
|
|
* use a local variable instead of using ARG_STRING(0) ten times
* minimize scope of local variables
* use a struct sbuf instead of playing with xmalloc and strncpy
* correct indentation
|
|
* instead of playing with xmalloc, strlen and strncpy, use xstrdup
to do the copying and strcspn to delete the newline
|
|
* if the user aborted we receive a NULL pointer; don't attempt to
dereference it, and treat this case as a failure.
Matches the behaviour of cmd_colon and cmd_select
|
|
|
|
|
|
|
|
Thanks a lot to Shawn Betts, Bernhard R. Link and all of you folks who
provided advices, bugreports and feedback.
Long live ratpoison! Death to the rodent!
|
|
|
|
* since X11/Xdefs.h may define it too. Found by -Wshadow.
Bonus: "last" carries more meaning.
|
|
* They are a c99 feature, which makes it impossible to build ratpoison
on some platforms. GCC supports zero-sized arrays, more conservative
approaches say to use foo[1], but as brlink says a compiler with
aggressive optimization turned on might play nasty tricks.
Just use a traditional struct.
|
|
* add NEWS and ChangeLog bits
|
|
|
|
* forgot a break statement when moving things around
* braino in comment: '1' is RET_SUCCESS, '0' is RET_FAILURE
|
|
* in cmd_select(), consistently set the return value for all cases we deal
with
* in cmd_unmanage(), don't attempt to use a NULL pointer if the unmanaged
windows list is empty; just report success
* in cmd_kill, only report failure if XKillClient() actually failed
* in command(), remove a useless test: cmd can't be NULL
* in cmd_gravity, don't call current_window() twice
|
|
* properly define the way the wm may give feedback to ratpoison -c;
see communications.c:receive_command_result()
* follow this protocol in events.c:receive_command()
* modify receive_command_result() to return an int (which is the
mirror of the struct cmdret "success" member used on the wm side)
* pass that error status back to main.c; exit with an error status if
any of the commands we sent failed
|
|
|
|
* only print the "Command key: ..." bits if we're dealing with
the root kmap
* don't read (and print) uninitialized data
(foomap->actions[foomap->actions_last] shouldn't be accessed)
It seems like keymap actions and other things like aliases
use arrays because they were implemented before linkedlist.[ch]
were introduced. Perhaps should we just switch them to more
fool-proof linked lists?
|
|
otherwise ratpoison -c no longer works
|
|
Using AM_MAINTAINER_MODE([enable]) means you get the maintainer-specific
parts enabled by default like without AM_MAINTAINER_MODE, while
people still can do --disable-maintainer-mode to avoid any pitfalls.
|
|
* this one has bitten me too many times as an end user ; here it annoys me as
a maintainer - version.texi not being installed. bye bye.
See info "(automake) maintainer-mode".
|
|
* while here, s/EMACS/Emacs/ in the Info manual
|
|
* fdl.texi: update to a newer version (not to a newer licence version!)
* ratpoison.texi: update to build printed manuals, get rid of annoying
@node references, and move GFDL to the last section. use automake support
for version.texi, so that manuals don't ship with an outdated version
* .gitignore: match update
|
|
|
|
|
|
* this file is outdated and doesn't help rpm distros
packagers / users, so let's just delete it
Discussed with Kevin Fenzi (Fedora ratpoison maintainer)
|
|
* rename this file since new versions of automake complain
about the old name
|
|
* (globals.[ch]): remove rp_text_width "font" arg, since its value
is always the global variable defaults.font (non-Xft case).
remove one #ifdef while here
* update rp_text_width() calls to match new signature
|
|
* (manage.c) in get_wmname(), try to get the (UTF-8 encoded)
_NET_WM_NAME property. Fallback to GetWMName() if unavailable.
Add some debugging bits to see which TEXT encoding clients use
for WM_NAME.
* (globals.c) use Xft*Utf8 functions to compute text width and
draw strings. No regressions with or without Xft, UTF-8 locale
or not.
* assume we can use Xft*Utf8 functions whenever we have Xft,
to reduce the #ifdef dance
Original patch from Bernhard R. Link
|
|
* (events.c) extract xa_compound_text from selection_request(),
make it a global
* introduce xa_string (same as XA_STRING) and rename
utf8_string to xa_utf8_string, for consistency
|
|
* use nl_langinfo() to detect if locale codeset is UTF-8
|
|
* (m4/codeset.m4) new file (from the gettext package)
* (configure.in) use AM_LANGINFO_CODESET
* (.gitignore) don't ignore m4/codeset.m4
|
|
it has been unused so far, and afaik we don't support pre-ansi
platforms...
|
|
* no need to explicitely check for gcc, it will be picked
up if available
* prepend to CFLAGS instead of appending
* no need to add -O2 if gcc, autoconf automatically does
that when appropriate
|
|
* s/AM_CONFIG_HEADER/AC_CONFIG_HEADER
* s/AC_HELP_STRING/AS_HELP_STRING
|
|
* PACKAGE and VERSION are already AC_SUBST'ed
* targets bin-dist and strip-bin-dist don't exist
|
|
* use proper AC_INIT / AM_INIT_AUTOMAKE arguments
* install macros in m4/
* install junk build files in build-aux/
* replace hand-rolled autogen.sh by autoreconf -i
* sync .gitignore
|
|
* (*.pl, rpws) don't hardcode path to Perl but rely on /usr/bin/env
* (allwindows.sh) don't require bash
* (rpshowall.sh) properly handle arguments, use portable shell arithmetic
* (*.sh) use more quotes
* (*.pl, split.sh) use 'ratpoison' if RATPOISON isn't in the environment
(and don't error out)
|
|
for waitpid(SIGCHLD, SIG_IGN) behaves wildly differently across OSes. Fixes
tmpwm hanging after child wm exits on OpenBSD.
|