Przemysław Wojnowski | 8 Oct 13:36 2015

Testing library for C code

Hello everybody,

I'm looking at libraries for testing C code and I'm wondering
if it's acceptable to use C++ to write the tests for Emacs' C code?

Simply there are more choices when C++ can be used (for example 
googletest, cppunit).
But if not, then there are C-only options too (for example

The important part is breaking dependencies, which allow
to run tests in isolation. Mocks are standard way do do it.


Artur Malabarba | 7 Oct 20:23 2015

Downgrade custom-theme-load-path into a defvar

`custom-theme-load-path' is a defcustom, but setting it via the
customize interface is a trap for the user. Because installed themes
commonly add themselves to this variable, its value is not fit for
being saved (because it will permanently remember dirs that don't
exist anymore).
This is aggravated by the fact that Emacs always applies the `user'
theme on top of any theme that's loaded, since this will remove apply
the old's variable value and remove any new directories that had been
added by themes themselves.

For an instance of the problem in the wild, see

I'd like to downgrade this defcustom into a defvar, so that users
cannot customize it by accident. It should not be a defcustom in the
same way that load-path isn't.

Would anyone object?


Łukasz Stelmach | 7 Oct 08:34 2015

Arbitrary file descriptors for child process


Is there a way start a child process (like in start-process) with an
arbitrary set of file-descriptors attached to Emacs buffers?

What I am trying to achieve is an OTR "filter" for erc.el. The way I see
it four file descriptors to send and receive messages.

a) sending: "keyboard" -1-≥ otr filter -2-≥ erc -> network (direct or gnutls)

b) receiving: network -> erc -3-≥ otr filter -4-≥ "screen"

Do you have any suggestions on this idea?

Łukasz Stelmach z podróży

Nikolaus Rath | 6 Oct 23:03 2015

Re: bug#21071: Gnus message flags must be set before expiration, not afterwards


This issue is caused by article expiry being done in
gnus-summary-prepare-exit-hook. gnus-summary-exit calls this hook before
calling gnus-update-read-articles (which sets the read mark).

A trivial patch is to invert the order:

diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el
index 37a707e..56406d0 100644
--- a/lisp/gnus-sum.el
+++ b/lisp/gnus-sum.el
 <at>  <at>  -7252,7 +7252,6  <at>  <at>  If FORCE (the prefix), also save the .newsrc file(s)."
       (when gnus-use-scoring
-    (gnus-run-hooks 'gnus-summary-prepare-exit-hook)
     (when gnus-use-cache
 <at>  <at>  -7269,6 +7268,7  <at>  <at>  If FORCE (the prefix), also save the .newsrc file(s)."
     (unless quit-config
       (gnus-run-hooks 'gnus-exit-group-hook)
+    (gnus-run-hooks 'gnus-summary-prepare-exit-hook)
     (gnus-close-group group)
     ;; Make sure where we were, and go to next newsgroup.
     (when (buffer-live-p (get-buffer gnus-group-buffer))
(Continue reading)

Dmitry Antipov | 6 Oct 11:32 2015

8af8355c3f72500986f6f10b62714b228d6f35ee breaks minibuffer echo with Lucid

To reproduce:

1) Rewind tree to 8af8355c3f72500986f6f10b62714b228d6f35ee (git checkout
8af8355c3f72500986f6f10b62714b228d6f35ee -b test)
2) Configure with ../emacs/configure --without-all --with-x-toolkit=lucid and compile
3) Run Emacs as ./src/emacs -Q --eval '(progn (menu-bar-mode 0) (tool-bar-mode 0) (scroll-bar-mode -1))'
4) Type M-x and look at the minibuffer. It remains empty, but 'M-x' should be displayed.

At 6cd2629bd1b3ce77d29ac28e29237c94a4197116, minibuffer behaves as expected.


Andy Moreton | 5 Oct 23:15 2015

Patch for review in bug#21173


Could somebody please review the patch I attached to bug #21173 on Sept
8th ? I now have copyright papers on file (1034739).



Lele Gaifax | 5 Oct 19:14 2015

Support for PEP492 async quasi-keyword in python.el

Hi all,

I spent the afternoon teaching python.el to properly indent the new “async”
constructs introduced in Python 3.5, and I'm attaching the result of my

Of course it's far from being either correct or complete, but maybe some of
you could give me some feedback on the following points:

a) is there a better way to introduce the new "async" variants of
   "def|with|for" in the `block-start' regexp?

b) how should the "await" quasi-keyword be handled? I mean, it's not a real
   keyword (that is, the assignment “await = 1” is valid code for example),
   but in an expression such as “return await foo()” it should probably be
   highlighted as such...

c) the diff below breaks one existing test, namely `python-indent-region-5'; I
   will try to understand what's going on...

Thank you in advance for any hint,
ciao, lele.

Attachment (python-el+pep492.diff): text/x-diff, 4450 bytes


nickname: Lele Gaifax | Quando vivrò di quello che ho pensato ieri
real: Emanuele Gaifas | comincerò ad aver paura di chi mi copia.
(Continue reading)

Vincent Belaïche | 3 Oct 18:29 2015

compile.el ant error regexp does not match on MSW

Hello Roland & Daniel,

I have found that the error regexp for ant does not match on MSWindow because of the drive letter.

I have attached a patch.

If you don't mind I can commit it & push to repo.

However I did not write any ChangeLog entry as it seems that there is no longer any ChangeLog file on the repo
(I am not following the devel so closely, the last time I did some update was with BZR, not GIT ;-) ...), is
that correct that the commit comment is enough (no more ChangeLog is maintained ?)


Attachment (compile.el.diff): application/octet-stream, 835 bytes
Alan Mackenzie | 3 Oct 17:48 2015

xdisp.c's struct it questions.

Hello, Emacs.

I'm trying to get some stuff in xdisp.c working.  It's hard.

I'm currently looking at routines like `move_it_to', which is described
as "Move IT forward until it satisfies one or more of the criteria in

What I can't find anywhere is a description of what it means for a
"struct it" to _be_ somewhere.  There are around 100 fields in struct
it, and several of them record locations, coordinates, etc., in one way
and another.  Which of these fields are changed when move_it_to is


Alan Mackenzie (Nuremberg, Germany).

Zachary Kanfer | 3 Oct 09:09 2015

Copyright assignment -- how to sign papers?

 I'd like to start the process of signing the copyright assignment for Emacs. What do I need to do? Thanks.
Marcin Borkowski | 2 Oct 10:39 2015

Emacs 24.1 won't compile

Hi all,

I tried to compile Emacs 24.1.  I cloned the Git repository, checked out
the emacs-24.1 branch, did ./ and ./configure (both
succeeded), but make threw an error.  Here's the output (not from the
first time I ran it):

--8<---------------cut here---------------start------------->8---
[ -r "/home/[redacted]/emacs/src/" ] || ( cd /home/[redacted]/emacs && autoheader )
cd lib; /usr/bin/make all                            \
  CC='gcc -std=gnu99' CFLAGS='-g -O2' CPPFLAGS='' \
  LDFLAGS='-Wl,-znocombreloc ' MAKE='/usr/bin/make'
make[1]: Entering directory '/home/[redacted]/emacs/lib'
/usr/bin/make  all-am
make[2]: Entering directory '/home/[redacted]/emacs/lib'
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../src -I/home/[redacted]/emacs/src     -g -O2 -MT md5.o -MD -MP -MF
.deps/md5.Tpo -c -o md5.o md5.c
In file included from ../src/config.h:1427:0,
                 from md5.c:23:
./stdio.h:1030:1: error: ‘gets’ undeclared here (not in a function)
 _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
Makefile:1007: recipe for target 'md5.o' failed
make[2]: *** [md5.o] Error 1
make[2]: Leaving directory '/home/[redacted]/emacs/lib'
Makefile:927: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/[redacted]/emacs/lib'
Makefile:368: recipe for target 'lib' failed
make: *** [lib] Error 2
--8<---------------cut here---------------end--------------->8---

What do I do?



Marcin Borkowski
Faculty of Mathematics and Computer Science
Adam Mickiewicz University