From: Anders Lindgren <andlind@gmail.com>
To: martin rudalics <rudalics@gmx.at>
Cc: Keith David Bershatsky <esq@lawlist.com>, 21415@debbugs.gnu.org
Subject: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame
Date: Tue, 27 Oct 2015 22:42:00 +0100 [thread overview]
Message-ID: <CABr8ebbB=VWU_F+2VoVvY9YbRSd0k1NGZcpr__KiuG9+vQg9XA@mail.gmail.com> (raw)
In-Reply-To: <CABr8ebZyBf=Z8GaYMGhp-OitsLjnzDe-pGReVWy2iCG7g3XfFQ@mail.gmail.com>
[-- Attachment #1.1: Type: text/plain, Size: 2930 bytes --]
Hi,
here is a patch to fix the problems with tool-bar-mode, please try it out.
One thing that I have noticed lately is that Emacs often crash when
started. I managed to get a call stack by running gdb, but it doesn't mean
much to me. Do any of you have an idea what is going on?
-- Anders
On Sat, Oct 24, 2015 at 11:43 PM, Anders Lindgren <andlind@gmail.com> wrote:
> Hi,
>
> On Sat, Oct 24, 2015 at 8:57 PM, martin rudalics <rudalics@gmx.at> wrote:
> >
> > > Anyway, I think the problem you are seeing is due to the fact that I
> have
> > > replaced the code in "zoom" with custom code that simply resizes the
> frame.
> > > On OS X there is nothing special happening when maximizing the frame
> -- the
> > > outer frame (one pixel thick) is still there, no buttons should change
> > ^^^^^
> > You mean the outer border, I presume. Here the border (some 5 pixels)
> > is probably removed by the window manager. Don't ask me why and how.
> > But this and most other problems I reported existed already before your
> > change.
>
> Was the outer frame removed and the icon changed before my rewrites? If
> so, try to use the old zoom system instead of the new.
>
>
> > I doubt it would help much. One basic problem with GNUStep here is that
> > the workarea as returned by ‘display-monitor-attributes-list’ is the
> > same as the geometry returned by that function (are they the same on
> > OSX?). Hence I see no way to have the GNUStep build recognize the
> > presence of my taskbar and not hide it when maximizing the frame.
>
> You can check if the NSScreen "frame" and "visibleFrame" would return
> different frame. In "ns_menu_bar_height" I use this. Maybe it can be used
> under GNUStep to find the height of the taskbar?
>
>
> > BTW
> >
> > (set-frame-parameter nil 'fullscreen 'fullboth)
> >
> > is broken here just as it was before your changes. Does it work for you?
>
> Yes, it enters the real fullscreen mode.
>
> Does it work if you set `ns-use-native-fullscreen' to nil?
>
>
> > > When it comes to the double tool bar, I have unfortunately no idea
> what the
> > > problem is.
> >
> > The crazy thing is that with the old build I got it for a normal initial
> > frame and now I get for a maximized initial frame ;-)
>
> Bizzarre... I would check "update_frame_tool_bar" in nsmenu.m or
> initFrameFromEmacs in nsterm.m to see if any of those allocate more than
> one EmacsToolbar.
>
>
> I have located the toolbar error. When "setVisible" is called, OS X starts
> an animation. When this animation runs, windowWasResized tried to keep up
> and update rows and columns. On the way it got lost and the end result was
> a bad "row" could. When simply doing nothing when the animation runs,
> everything work OK. Hopefully, I will be able to push the end result within
> the next couple of days.
>
> -- Anders
>
>
[-- Attachment #1.2: Type: text/html, Size: 3765 bytes --]
[-- Attachment #2: toolbar.diff --]
[-- Type: text/plain, Size: 7910 bytes --]
diff --git a/src/nsfns.m b/src/nsfns.m
index 1ed3e23..c243444 100644
--- a/src/nsfns.m
+++ b/src/nsfns.m
@@ -1298,6 +1298,8 @@ This function is an internal primitive--use `make-frame' instead. */)
= [NSCursor arrowCursor];
f->output_data.ns->current_pointer = f->output_data.ns->text_cursor;
+ f->output_data.ns->in_animation = NO;
+
[[EmacsView alloc] initFrameFromEmacs: f];
x_icon (f, parms);
diff --git a/src/nsmenu.m b/src/nsmenu.m
index 2ef1223..ddc5dc2 100644
--- a/src/nsmenu.m
+++ b/src/nsmenu.m
@@ -998,10 +998,20 @@ free_frame_tool_bar (struct frame *f)
-------------------------------------------------------------------------- */
{
EmacsView *view = FRAME_NS_VIEW (f);
+
+ NSTRACE ("free_frame_tool_bar");
+
block_input ();
view->wait_for_tool_bar = NO;
- [[view toolbar] setVisible: NO];
+
FRAME_TOOLBAR_HEIGHT (f) = 0;
+
+ /* Note: This trigger an animation, which calls windowDidResize
+ repeatedly. */
+ f->output_data.ns->in_animation = 1;
+ [[view toolbar] setVisible: NO];
+ f->output_data.ns->in_animation = 0;
+
unblock_input ();
}
@@ -1017,6 +1027,8 @@ update_frame_tool_bar (struct frame *f)
EmacsToolbar *toolbar = [view toolbar];
int oldh;
+ NSTRACE ("update_frame_tool_bar");
+
if (view == nil || toolbar == nil) return;
block_input ();
@@ -1096,7 +1108,11 @@ update_frame_tool_bar (struct frame *f)
}
if (![toolbar isVisible])
+ {
+ f->output_data.ns->in_animation = 1;
[toolbar setVisible: YES];
+ f->output_data.ns->in_animation = 0;
+ }
#ifdef NS_IMPL_COCOA
if ([toolbar changed])
@@ -1150,6 +1166,8 @@ update_frame_tool_bar (struct frame *f)
- initForView: (EmacsView *)view withIdentifier: (NSString *)identifier
{
+ NSTRACE ("[EmacsToolbar initForView: withIdentifier:]");
+
self = [super initWithIdentifier: identifier];
emacsView = view;
[self setDisplayMode: NSToolbarDisplayModeIconOnly];
@@ -1164,6 +1182,8 @@ update_frame_tool_bar (struct frame *f)
- (void)dealloc
{
+ NSTRACE ("[EmacsToolbar dealloc]");
+
[prevIdentifiers release];
[activeIdentifiers release];
[identifierToItem release];
@@ -1172,6 +1192,8 @@ update_frame_tool_bar (struct frame *f)
- (void) clearActive
{
+ NSTRACE ("[EmacsToolbar clearActive]");
+
[prevIdentifiers release];
prevIdentifiers = [activeIdentifiers copy];
[activeIdentifiers removeAllObjects];
@@ -1181,6 +1203,8 @@ update_frame_tool_bar (struct frame *f)
- (void) clearAll
{
+ NSTRACE ("[EmacsToolbar clearAll]");
+
[self clearActive];
while ([[self items] count] > 0)
[self removeItemAtIndex: 0];
@@ -1188,6 +1212,8 @@ update_frame_tool_bar (struct frame *f)
- (BOOL) changed
{
+ NSTRACE ("[EmacsToolbar changed]");
+
return [activeIdentifiers isEqualToArray: prevIdentifiers] &&
enablement == prevEnablement ? NO : YES;
}
@@ -1198,6 +1224,8 @@ update_frame_tool_bar (struct frame *f)
helpText: (const char *)help
enabled: (BOOL)enabled
{
+ NSTRACE ("[EmacsToolbar addDisplayItemWithImage: ...]");
+
/* 1) come up w/identifier */
NSString *identifier
= [NSString stringWithFormat: @"%lu", (unsigned long)[img hash]];
@@ -1231,6 +1259,7 @@ update_frame_tool_bar (struct frame *f)
all items to enabled state (for some reason). */
- (void)validateVisibleItems
{
+ NSTRACE ("[EmacsToolbar validateVisibleItems]");
}
@@ -1240,12 +1269,16 @@ update_frame_tool_bar (struct frame *f)
itemForItemIdentifier: (NSString *)itemIdentifier
willBeInsertedIntoToolbar: (BOOL)flag
{
+ NSTRACE ("[EmacsToolbar toolbar: ...]");
+
/* look up NSToolbarItem by identifier and return... */
return [identifierToItem objectForKey: itemIdentifier];
}
- (NSArray *)toolbarDefaultItemIdentifiers: (NSToolbar *)toolbar
{
+ NSTRACE ("[EmacsToolbar toolbarDefaultItemIdentifiers:]");
+
/* return entire set.. */
return activeIdentifiers;
}
@@ -1253,6 +1286,8 @@ update_frame_tool_bar (struct frame *f)
/* for configuration palette (not yet supported) */
- (NSArray *)toolbarAllowedItemIdentifiers: (NSToolbar *)toolbar
{
+ NSTRACE ("[EmacsToolbar toolbarAllowedItemIdentifiers:]");
+
/* return entire set... */
return activeIdentifiers;
//return [identifierToItem allKeys];
diff --git a/src/nsterm.h b/src/nsterm.h
index 8d52dc6..3fb8cfc 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -65,9 +65,12 @@ typedef float EmacsCGFloat;
========================================================================== */
-/* Uncomment the following line to enable trace. */
+/* Uncomment the following line to enable trace.
-/* #define NSTRACE_ENABLED 1 */
+ Hint: keep the trailing whitespace -- the version control system
+ will reject accidental commits. */
+
+/* #define NSTRACE_ENABLED 1 */
/* Print a call tree containing all annotated functions.
@@ -913,6 +916,9 @@ struct ns_output
/* Non-zero if we are zooming (maximizing) the frame. */
int zooming;
+
+ /* Non-zero if we are doing an animation, e.g. toggling the tool bar. */
+ int in_animation;
};
/* this dummy decl needed to support TTYs */
diff --git a/src/nsterm.m b/src/nsterm.m
index e5eb8ca..ba205f5 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -1497,7 +1497,7 @@ x_set_window_size (struct frame *f,
if (view == nil)
return;
- NSTRACE_RECT ("input", wr);
+ NSTRACE_RECT ("current", wr);
/*fprintf (stderr, "\tsetWindowSize: %d x %d, pixelwise %d, font size %d x %d\n", width, height, pixelwise, FRAME_COLUMN_WIDTH (f), FRAME_LINE_HEIGHT (f));*/
@@ -1559,7 +1559,6 @@ x_set_window_size (struct frame *f,
make_number (FRAME_NS_TITLEBAR_HEIGHT (f)),
make_number (FRAME_TOOLBAR_HEIGHT (f))));
- [view setRows: rows andColumns: cols];
NSTRACE_RECT ("setFrame", wr);
[window setFrame: wr display: YES];
@@ -6142,6 +6141,8 @@ not_in_argv (NSString *arg)
NSTRACE ("updateFrameSize");
NSTRACE_SIZE ("Original size", NSMakeSize (oldw, oldh));
NSTRACE_RECT ("Original frame", wr);
+ NSTRACE_MSG ("Original columns: %d", cols);
+ NSTRACE_MSG ("Original rows: %d", rows);
if (! [self isFullscreen])
{
@@ -6158,13 +6159,19 @@ not_in_argv (NSString *arg)
if (wait_for_tool_bar)
{
if (FRAME_TOOLBAR_HEIGHT (emacsframe) == 0)
- return;
+ {
+ NSTRACE_MSG ("Waiting for toolbar");
+ return;
+ }
wait_for_tool_bar = NO;
}
neww = (int)wr.size.width - emacsframe->border_width;
newh = (int)wr.size.height - extra;
+ NSTRACE_SIZE ("New size", NSMakeSize (neww, newh));
+ NSTRACE_MSG ("tool_bar_height: %d", emacsframe->tool_bar_height);
+
cols = FRAME_PIXEL_WIDTH_TO_TEXT_COLS (emacsframe, neww);
rows = FRAME_PIXEL_HEIGHT_TO_TEXT_LINES (emacsframe, newh);
@@ -6174,6 +6181,9 @@ not_in_argv (NSString *arg)
if (rows < MINHEIGHT)
rows = MINHEIGHT;
+ NSTRACE_MSG ("New columns: %d", cols);
+ NSTRACE_MSG ("New rows: %d", rows);
+
if (oldr != rows || oldc != cols || neww != oldw || newh != oldh)
{
NSView *view = FRAME_NS_VIEW (emacsframe);
@@ -6191,6 +6201,10 @@ not_in_argv (NSString *arg)
[view setFrame: wr];
[self windowDidMove:nil]; // Update top/left.
}
+ else
+ {
+ NSTRACE_MSG ("No change");
+ }
}
- (NSSize)windowWillResize: (NSWindow *)sender toSize: (NSSize)frameSize
@@ -6299,6 +6313,12 @@ not_in_argv (NSString *arg)
{
NSTRACE ("windowDidResize");
+ if (emacsframe->output_data.ns->in_animation)
+ {
+ NSTRACE_MSG ("Ignored (in animation)");
+ return;
+ }
+
if (! [self fsIsNative])
{
NSWindow *theWindow = [notification object];
@@ -7396,6 +7416,7 @@ not_in_argv (NSString *arg)
- (void) setRows: (int) r andColumns: (int) c
{
+ NSTRACE ("[EmacsView setRows:%d andColumns:%d]", r, c);
rows = r;
cols = c;
}
[-- Attachment #3: emacs-commit-messages2.txt --]
[-- Type: text/plain, Size: 744 bytes --]
Fix incorrect NextStep tool-bar-mode -- wrong number of rows in frame.
* nsterm.h (struct ns_output): New flag, in_animation.
* nsfns.m (Fx_create_frame): Initialize in_animation flag.
* nsmenu.m (free_frame_tool_bar, update_frame_tool_bar): Set
in_animation flag around call to "setVisible". Set new tool bar
height before call to setVisible.
* nsterm.m (x_set_window_size): Don't call [view setRow:
andColumns:] as this fools the subsequent call to updateFrameSize
from performing the real resize.
(windowDidResize): Don't update anything when in_animation is
non-zero.
Trace output.
* nsmenu.m (free_frame_tool_bar, update_frame_tool_bar)
(EmacsToolbar):
* nsterm.m (x_set_window_size, updateFrameSize)
([EmacsView setRows: andColumns:])
[-- Attachment #4: start-crash.txt --]
[-- Type: text/plain, Size: 4970 bytes --]
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000010
0x00007fff8ae4be65 in (anonymous namespace)::AutoreleasePoolPage::pop ()
(gdb) bt
#0 0x00007fff8ae4be65 in (anonymous namespace)::AutoreleasePoolPage::pop ()
#1 0x00007fff8b1c16f2 in _CFAutoreleasePoolPop ()
#2 0x00007fff8f6a2832 in -[NSAutoreleasePool drain] ()
#3 0x00007fff867ddbc1 in -[NSApplication run] ()
#4 0x00000001001a27a8 in -[EmacsApp run] (
self=<value temporarily unavailable, due to optimizations>,
_cmd=<value temporarily unavailable, due to optimizations>)
at nsterm.m:4827
#5 0x00000001001a250b in ns_term_init (
display_name=<value temporarily unavailable, due to optimizations>)
at nsterm.m:4759
#6 0x00000001001b5da7 in Fx_open_connection (display=4375708556,
resource_string=0, must_succeed=40416) at nsfns.m:1844
#7 0x0000000100137cfe in Ffuncall (
nargs=<value temporarily unavailable, due to optimizations>,
args=<value temporarily unavailable, due to optimizations>) at eval.c:2657
#8 0x000000010016fca4 in exec_byte_code (
bytestr=<value temporarily unavailable, due to optimizations>,
vector=4429459997,
maxdepth=<value temporarily unavailable, due to optimizations>,
args_template=<value temporarily unavailable, due to optimizations>,
nargs=<value temporarily unavailable, due to optimizations>,
args=<value temporarily unavailable, due to optimizations>)
at bytecode.c:880
#9 0x0000000100137b4f in Ffuncall (
nargs=<value temporarily unavailable, due to optimizations>,
args=<value temporarily unavailable, due to optimizations>) at eval.c:2699
#10 0x0000000100137648 in Fapply (
nargs=<value temporarily unavailable, due to optimizations>,
args=<value temporarily unavailable, due to optimizations>) at eval.c:2231
#11 0x0000000100137bea in Ffuncall (
nargs=<value temporarily unavailable, due to optimizations>,
args=<value temporarily unavailable, due to optimizations>) at eval.c:2630
#12 0x000000010016fca4 in exec_byte_code (
bytestr=<value temporarily unavailable, due to optimizations>,
vector=4496538477,
maxdepth=<value temporarily unavailable, due to optimizations>,
args_template=<value temporarily unavailable, due to optimizations>,
nargs=<value temporarily unavailable, due to optimizations>,
args=<value temporarily unavailable, due to optimizations>)
at bytecode.c:880
#13 0x0000000100137b4f in Ffuncall (
nargs=<value temporarily unavailable, due to optimizations>,
args=<value temporarily unavailable, due to optimizations>) at eval.c:2699
#14 0x000000010016fca4 in exec_byte_code (
bytestr=<value temporarily unavailable, due to optimizations>,
vector=4298365205,
maxdepth=<value temporarily unavailable, due to optimizations>,
args_template=<value temporarily unavailable, due to optimizations>,
nargs=<value temporarily unavailable, due to optimizations>,
args=<value temporarily unavailable, due to optimizations>)
at bytecode.c:880
#15 0x0000000100137b4f in Ffuncall (
nargs=<value temporarily unavailable, due to optimizations>,
args=<value temporarily unavailable, due to optimizations>) at eval.c:2699
#16 0x000000010016fca4 in exec_byte_code (
bytestr=<value temporarily unavailable, due to optimizations>,
vector=4298361181,
maxdepth=<value temporarily unavailable, due to optimizations>,
args_template=<value temporarily unavailable, due to optimizations>,
nargs=<value temporarily unavailable, due to optimizations>,
args=<value temporarily unavailable, due to optimizations>)
at bytecode.c:880
#17 0x0000000100137540 in apply_lambda (fun=4298361101,
args=<value temporarily unavailable, due to optimizations>,
count=<value temporarily unavailable, due to optimizations>) at eval.c:2751
#18 0x000000010013445d in eval_sub (
form=<value temporarily unavailable, due to optimizations>) at eval.c:2168
#19 0x0000000100137398 in Feval (form=4462858579,
lexical=<value temporarily unavailable, due to optimizations>)
at eval.c:1953
#20 0x00000001001366b7 in internal_condition_case (
bfun=0x1000cc840 <top_level_2>,
handlers=<value temporarily unavailable, due to optimizations>,
hfun=<value temporarily unavailable, due to optimizations>) at eval.c:1309
#21 0x00000001000cc80d in top_level_1 (
ignore=<value temporarily unavailable, due to optimizations>)
at keyboard.c:1103
#22 0x00000001001360ef in internal_catch (
tag=<value temporarily unavailable, due to optimizations>,
func=0x1000cc7e0 <top_level_1>, arg=0) at eval.c:1073
#23 0x00000001000bb0ff in command_loop () at keyboard.c:1064
#24 0x00000001000bb029 in recursive_edit_1 () at keyboard.c:671
#25 0x00000001000bb24c in Frecursive_edit () at keyboard.c:742
#26 0x00000001000b9f34 in main (argc=Cannot access memory at address 0x0
) at emacs.c:1644
next prev parent reply other threads:[~2015-10-27 21:42 UTC|newest]
Thread overview: 141+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-04 17:41 bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame Keith David Bershatsky
2015-09-04 19:17 ` martin rudalics
2015-09-05 0:31 ` Keith David Bershatsky
2015-09-05 9:59 ` martin rudalics
2015-09-06 17:18 ` Keith David Bershatsky
2015-09-06 19:26 ` martin rudalics
2015-09-06 17:56 ` Keith David Bershatsky
2015-09-06 19:26 ` martin rudalics
2015-09-06 22:01 ` Keith David Bershatsky
2015-09-07 7:05 ` martin rudalics
2015-09-07 17:53 ` Keith David Bershatsky
2015-09-08 8:29 ` martin rudalics
2015-09-08 16:13 ` Keith David Bershatsky
2015-09-08 19:22 ` martin rudalics
2015-09-09 0:38 ` Keith David Bershatsky
2015-09-09 6:27 ` martin rudalics
2015-09-09 14:30 ` Keith David Bershatsky
2015-09-09 15:53 ` martin rudalics
2015-09-09 16:26 ` Keith David Bershatsky
2015-09-09 17:11 ` martin rudalics
2015-09-10 0:46 ` Keith David Bershatsky
2015-09-10 6:57 ` martin rudalics
2015-09-10 18:39 ` Keith David Bershatsky
2015-09-12 11:11 ` martin rudalics
2015-09-12 19:57 ` Anders Lindgren
2015-09-13 9:02 ` martin rudalics
2015-09-12 11:12 ` martin rudalics
2015-09-12 18:11 ` Keith David Bershatsky
2015-09-12 23:09 ` Keith David Bershatsky
2015-09-13 9:02 ` martin rudalics
2015-09-12 23:13 ` Keith David Bershatsky
2015-09-13 7:10 ` Anders Lindgren
2015-09-13 9:02 ` martin rudalics
2015-09-13 16:17 ` Keith David Bershatsky
2015-09-13 18:01 ` martin rudalics
[not found] ` <CABr8ebYkM02NHh9BeU8tNfw0=eMtqJfQALAhN17VfOQtzfq9CQ@mail.gmail.com>
2015-09-13 20:21 ` bug#21415: Fwd: " Anders Lindgren
[not found] ` <55F6860D.9060503@gmx.at>
2015-09-14 9:37 ` Anders Lindgren
2015-09-14 13:39 ` martin rudalics
2015-09-14 14:45 ` Anders Lindgren
2015-09-14 17:37 ` martin rudalics
2015-09-14 19:03 ` Anders Lindgren
2015-09-15 8:29 ` martin rudalics
2015-09-19 21:12 ` Anders Lindgren
2015-09-19 22:17 ` martin rudalics
2015-09-20 7:25 ` Anders Lindgren
2015-09-20 8:44 ` martin rudalics
2015-09-20 9:27 ` Anders Lindgren
2015-09-20 9:54 ` martin rudalics
2015-09-20 18:29 ` Anders Lindgren
2015-09-21 9:42 ` martin rudalics
2015-09-13 18:36 ` Keith David Bershatsky
2015-09-14 8:31 ` martin rudalics
2015-09-14 8:32 ` martin rudalics
2015-09-13 18:53 ` Keith David Bershatsky
2015-09-14 15:25 ` Keith David Bershatsky
2015-09-14 17:37 ` martin rudalics
2015-09-20 16:47 ` Keith David Bershatsky
2015-09-20 18:31 ` Anders Lindgren
2015-09-21 9:43 ` martin rudalics
2015-09-21 18:56 ` Anders Lindgren
2015-09-22 6:38 ` martin rudalics
2015-09-22 8:54 ` Anders Lindgren
2015-09-22 9:36 ` martin rudalics
2015-09-27 18:53 ` Anders Lindgren
2015-09-28 6:48 ` martin rudalics
2015-09-28 21:35 ` Anders Lindgren
2015-09-29 7:23 ` martin rudalics
2015-09-29 7:50 ` Eli Zaretskii
2015-09-30 17:54 ` Anders Lindgren
2015-09-30 18:57 ` martin rudalics
2015-09-30 21:29 ` Anders Lindgren
2015-10-02 8:37 ` martin rudalics
2015-10-03 6:16 ` Anders Lindgren
2015-10-03 8:32 ` martin rudalics
2015-09-20 19:14 ` Keith David Bershatsky
2015-09-28 14:32 ` Keith David Bershatsky
2015-09-28 15:31 ` martin rudalics
2015-09-28 17:49 ` Keith David Bershatsky
2015-09-28 18:00 ` martin rudalics
2015-09-28 18:13 ` Keith David Bershatsky
2015-09-29 7:22 ` martin rudalics
2015-09-29 17:09 ` Keith David Bershatsky
2015-09-29 17:14 ` martin rudalics
2015-10-01 6:43 ` Keith David Bershatsky
2015-10-02 8:37 ` martin rudalics
2015-10-03 11:28 ` Andy Moreton
2015-10-03 12:31 ` martin rudalics
2015-10-05 21:02 ` Andy Moreton
2015-10-06 7:57 ` martin rudalics
2015-10-07 3:42 ` Keith David Bershatsky
2015-10-13 10:21 ` martin rudalics
2015-10-13 17:23 ` Keith David Bershatsky
2015-10-13 17:59 ` Anders Lindgren
2015-10-14 8:49 ` martin rudalics
2015-10-14 15:58 ` Keith David Bershatsky
2015-10-14 17:37 ` martin rudalics
2015-10-14 21:53 ` Anders Lindgren
2015-10-15 10:00 ` martin rudalics
2015-10-20 17:20 ` Anders Lindgren
2015-10-21 8:02 ` martin rudalics
2015-10-21 16:07 ` martin rudalics
2015-10-22 14:54 ` Anders Lindgren
2015-10-22 15:35 ` martin rudalics
2015-10-23 9:13 ` Anders Lindgren
2015-10-23 18:00 ` martin rudalics
2015-10-24 15:33 ` Anders Lindgren
2015-10-24 18:57 ` martin rudalics
2015-10-24 21:43 ` Anders Lindgren
2015-10-27 21:42 ` Anders Lindgren [this message]
2015-10-28 7:54 ` Anders Lindgren
2015-10-28 9:55 ` martin rudalics
2015-10-28 11:25 ` Anders Lindgren
2015-10-28 19:19 ` martin rudalics
2015-10-29 22:53 ` Anders Lindgren
2015-10-30 7:59 ` martin rudalics
2015-10-30 8:10 ` martin rudalics
2015-10-30 9:00 ` Anders Lindgren
2015-10-30 9:34 ` martin rudalics
2015-10-30 10:18 ` Anders Lindgren
2015-10-28 9:54 ` martin rudalics
2015-10-14 20:34 ` Keith David Bershatsky
2015-10-15 9:59 ` martin rudalics
2015-10-21 1:03 ` Keith David Bershatsky
2015-10-21 2:07 ` Anders Lindgren
2015-10-29 2:47 ` Keith David Bershatsky
2015-11-14 19:42 ` Anders Lindgren
2015-11-01 16:53 ` Keith David Bershatsky
2015-11-01 21:08 ` Anders Lindgren
2015-11-02 5:18 ` Keith David Bershatsky
2015-11-02 20:50 ` Anders Lindgren
2015-11-03 6:29 ` Keith David Bershatsky
2015-11-03 8:54 ` Anders Lindgren
2015-11-04 2:21 ` Keith David Bershatsky
2015-11-04 5:53 ` Anders Lindgren
2015-11-16 3:06 ` Keith David Bershatsky
2015-11-16 9:11 ` Anders Lindgren
2020-09-17 17:53 ` Lars Ingebrigtsen
2015-11-16 3:16 ` Keith David Bershatsky
2015-11-16 7:54 ` Anders Lindgren
2015-11-16 17:25 ` Keith David Bershatsky
2015-11-16 23:52 ` Keith David Bershatsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CABr8ebbB=VWU_F+2VoVvY9YbRSd0k1NGZcpr__KiuG9+vQg9XA@mail.gmail.com' \
--to=andlind@gmail.com \
--cc=21415@debbugs.gnu.org \
--cc=esq@lawlist.com \
--cc=rudalics@gmx.at \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.