mirror of https://github.com/djcb/mu.git
* add many unit tests
This commit is contained in:
parent
a411a9964b
commit
c5dc8f044d
|
@ -18,9 +18,12 @@ include $(top_srcdir)/gtest.mk
|
|||
|
||||
SUBDIRS=src man
|
||||
|
||||
|
||||
# so we can say 'make test'
|
||||
check: test
|
||||
check: test cleanupnote
|
||||
|
||||
cleanupnote:
|
||||
@echo -e "\nNote: you can remove the mu-test-XXXX dirs in your temp-file dir"
|
||||
@echo "after 'make check' has finished."
|
||||
|
||||
tags:
|
||||
gtags
|
||||
|
|
8
TODO
8
TODO
|
@ -28,25 +28,25 @@
|
|||
- [X] cleanup ascending/descending stuff
|
||||
- [X] testing
|
||||
|
||||
** release 0.7 [42%]
|
||||
** release 0.7 [46%]
|
||||
|
||||
- [X] signal handler for indexing
|
||||
- [X] fix max 10000 matches limit
|
||||
- [X] embed database version in database
|
||||
- [X] MuMsgXapian => MuMsgIterXapian
|
||||
- [ ] don't store both values and terms
|
||||
- [ ] clean up mu-msg-field
|
||||
- [ ] clean up mu-msg-field, add formatting(?)
|
||||
- [X] fix the batch stuff
|
||||
- [ ] mu help <cmd>
|
||||
- [ ] mu help <cmd> (?)
|
||||
- [ ] mu view <path>
|
||||
- [ ] add symlink-following option for index
|
||||
- [ ] test suite
|
||||
- [ ] moving msg field formatting to MuMsgField (?)
|
||||
- [ ] auto clean log file
|
||||
- [X] configure error for missing ->dt_dtype
|
||||
|
||||
** release 0.8 [%]
|
||||
- [ ] bookmarks
|
||||
- [ ] query on time
|
||||
- [ ] mu-setup (?)
|
||||
- [ ] config system (config file) (?)
|
||||
- [ ] UTF-8 output to console
|
||||
|
|
|
@ -117,4 +117,4 @@ echo "<muhome>xapian-0.6 directory to save some disk space"
|
|||
|
||||
echo
|
||||
echo "mu configuration is complete."
|
||||
echo "type 'make' to build it"
|
||||
echo "type 'make' to build mu, or 'make check' to perform the unit tests."
|
||||
|
|
|
@ -43,8 +43,7 @@ gboolean mu_maildir_mkmdir (const char* path, mode_t mode, gboolean noindex);
|
|||
|
||||
|
||||
/**
|
||||
* create a symbolic link to a mail message; the function will
|
||||
* automatically
|
||||
* create a symbolic link to a mail message
|
||||
*
|
||||
* @param src the full path to the source message
|
||||
* @param targetpath the path to the target maildir; ie., *not*
|
||||
|
@ -81,7 +80,8 @@ typedef MuResult (*MuMaildirWalkDirCallback)
|
|||
* files outside cur/ and new/ dirs and unreadable files; however,
|
||||
* dotdirs are visited (ie. '.dotdir/cur'), so this enables Maildir++.
|
||||
* (http://www.inter7.com/courierimap/README.maildirquota.html, search
|
||||
* for 'Mission statement')
|
||||
* for 'Mission statement'). In addition, dirs containing a file named
|
||||
* '.noindex' are ignored, as are their subdirectories.
|
||||
*
|
||||
* mu_walk_maildir stops if the callbacks return something different
|
||||
* from MU_OK. For example, it can return MU_STOP to stop the scan, or
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
*/
|
||||
|
||||
#include <glib.h>
|
||||
|
||||
#include "mu-msg-str.h"
|
||||
#include "mu-msg-flags.h"
|
||||
|
||||
|
@ -29,7 +30,7 @@ mu_msg_str_date_s (time_t t)
|
|||
|
||||
tmbuf = localtime(&t);
|
||||
|
||||
strftime (buf, 64, "%c", tmbuf);
|
||||
strftime (buf, sizeof(buf), "%c", tmbuf);
|
||||
|
||||
return buf;
|
||||
}
|
||||
|
@ -49,9 +50,9 @@ mu_msg_str_size_s (size_t s)
|
|||
static char buf[32];
|
||||
|
||||
if (s >= 1000 * 1000)
|
||||
g_snprintf(buf, 32, "%.1fM", (double)s/(1000*1000));
|
||||
g_snprintf(buf, sizeof(buf), "%.1f MB", (double)s/(1000*1000));
|
||||
else
|
||||
g_snprintf(buf, 32, "%.1fk", (double)s/(1000));
|
||||
g_snprintf(buf, sizeof(buf), "%.1f kB", (double)s/(1000));
|
||||
|
||||
return buf;
|
||||
}
|
||||
|
@ -91,7 +92,7 @@ mu_msg_str_prio (MuMsgPriority prio)
|
|||
|
||||
default:
|
||||
g_warning ("%s: invalid priority %d", __FUNCTION__, prio);
|
||||
return "<error>";
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -45,14 +45,15 @@ char* mu_msg_str_date (time_t t) G_GNUC_WARN_UNUSED_RESULT;
|
|||
|
||||
|
||||
/**
|
||||
* get a display size for a given off_t;
|
||||
* uses M for sizes > 1000*1000, k for smaller sizes
|
||||
* get a display size for a given size_t; uses M for sizes >
|
||||
* 1000*1000, k for smaller sizes. Note: this function use the
|
||||
* 10-based SI units, _not_ the powers-of-2 based ones.
|
||||
*
|
||||
* mu_msg_str_size_s returns a ptr to a static buffer,
|
||||
* while mu_msg_str_size returns dynamically allocated
|
||||
* memory that must be freed after use.
|
||||
*
|
||||
* @param t the size as an off_t
|
||||
* @param t the size as an size_t
|
||||
*
|
||||
* @return a string representation of the size; see above
|
||||
* for what to do with it
|
||||
|
@ -81,7 +82,7 @@ char* mu_msg_str_flags (MuMsgFlags flags) G_GNUC_WARN_UNUSED_RESULT;
|
|||
|
||||
/**
|
||||
* get a display string for a message priority; either
|
||||
* High,Low or Normal
|
||||
* high, low or normal
|
||||
*
|
||||
* @param flags file flags
|
||||
*
|
||||
|
|
|
@ -28,12 +28,13 @@ TEST_PROGS += test-mu-util
|
|||
test_mu_util_SOURCES= test-mu-util.c
|
||||
test_mu_util_LDADD= ${top_srcdir}/src/libmu.la
|
||||
|
||||
|
||||
TEST_PROGS += test-mu-maildir
|
||||
test_mu_maildir_SOURCES= test-mu-maildir.c
|
||||
test_mu_maildir_LDADD= ${top_srcdir}/src/libmu.la
|
||||
|
||||
|
||||
TEST_PROGS += test-mu-msg-str
|
||||
test_mu_msg_str_SOURCES= test-mu-msg-str.c
|
||||
test_mu_msg_str_LDADD= ${top_srcdir}/src/libmu.la
|
||||
|
||||
# note the question marks; make does not like files with ':'...
|
||||
# 11 messages, the '.ignore' message should be ignored when indexing
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
#include <glib.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <string.h>
|
||||
|
||||
|
||||
#include "src/mu-maildir.h"
|
||||
|
||||
|
@ -127,13 +129,110 @@ static void
|
|||
shutup (void) {}
|
||||
|
||||
|
||||
static gchar*
|
||||
copy_test_data (void)
|
||||
{
|
||||
gchar *dir, *cmd;
|
||||
|
||||
dir = random_tmpdir();
|
||||
cmd = g_strdup_printf ("mkdir %s", dir);
|
||||
g_assert (g_spawn_command_line_sync (cmd, NULL, NULL, NULL, NULL));
|
||||
g_free (cmd);
|
||||
cmd = g_strdup_printf ("cp -R testdir %s", dir);
|
||||
g_assert (g_spawn_command_line_sync (cmd, NULL, NULL, NULL, NULL));
|
||||
g_free (cmd);
|
||||
|
||||
return dir;
|
||||
}
|
||||
|
||||
|
||||
typedef struct {
|
||||
int _file_count;
|
||||
int _dir_entered;
|
||||
int _dir_left;
|
||||
} WalkData;
|
||||
|
||||
static MuResult
|
||||
dir_cb (const char *fullpath, gboolean enter, WalkData *data)
|
||||
{
|
||||
if (enter)
|
||||
++data->_dir_entered;
|
||||
else
|
||||
++data->_dir_left;
|
||||
|
||||
return MU_OK;
|
||||
}
|
||||
|
||||
|
||||
static MuResult
|
||||
msg_cb (const char *fullpath, gboolean enter, WalkData *data)
|
||||
{
|
||||
++data->_file_count;
|
||||
return MU_OK;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
test_mu_maildir_walk_01 (void)
|
||||
{
|
||||
char *tmpdir;
|
||||
WalkData data;
|
||||
MuResult rv;
|
||||
|
||||
tmpdir = copy_test_data ();
|
||||
memset (&data, 0, sizeof(WalkData));
|
||||
|
||||
rv = mu_maildir_walk (tmpdir,
|
||||
(MuMaildirWalkMsgCallback)msg_cb,
|
||||
(MuMaildirWalkDirCallback)dir_cb,
|
||||
&data);
|
||||
|
||||
g_assert_cmpuint (MU_OK, ==, rv);
|
||||
g_assert_cmpuint (data._file_count, ==, 10);
|
||||
g_assert_cmpuint (data._dir_entered,==, 5);
|
||||
g_assert_cmpuint (data._dir_left,==, 5);
|
||||
|
||||
g_free (tmpdir);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
test_mu_maildir_walk_02 (void)
|
||||
{
|
||||
char *tmpdir, *cmd;
|
||||
WalkData data;
|
||||
MuResult rv;
|
||||
|
||||
tmpdir = copy_test_data ();
|
||||
memset (&data, 0, sizeof(WalkData));
|
||||
|
||||
/* mark the 'new' dir with '.noindex', to ignore it */
|
||||
cmd = g_strdup_printf ("touch %s%ctestdir%cnew%c.noindex", tmpdir,
|
||||
G_DIR_SEPARATOR, G_DIR_SEPARATOR,
|
||||
G_DIR_SEPARATOR);
|
||||
g_assert (g_spawn_command_line_sync (cmd, NULL, NULL, NULL, NULL));
|
||||
g_free (cmd);
|
||||
|
||||
rv = mu_maildir_walk (tmpdir,
|
||||
(MuMaildirWalkMsgCallback)msg_cb,
|
||||
(MuMaildirWalkDirCallback)dir_cb,
|
||||
&data);
|
||||
|
||||
g_assert_cmpuint (MU_OK, ==, rv);
|
||||
g_assert_cmpuint (data._file_count, ==, 6);
|
||||
g_assert_cmpuint (data._dir_entered,==, 4);
|
||||
g_assert_cmpuint (data._dir_left,==, 4);
|
||||
|
||||
g_free (tmpdir);
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc, char *argv[])
|
||||
{
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
|
||||
/* mu_util_dir_expand */
|
||||
/* mu_util_maildir_mkmdir */
|
||||
g_test_add_func ("/mu-maildir/mu-maildir-mkmdir-01",
|
||||
test_mu_maildir_mkmdir_01);
|
||||
g_test_add_func ("/mu-maildir/mu-maildir-mkmdir-02",
|
||||
|
@ -141,6 +240,12 @@ main (int argc, char *argv[])
|
|||
g_test_add_func ("/mu-maildir/mu-maildir-mkmdir-03",
|
||||
test_mu_maildir_mkmdir_03);
|
||||
|
||||
/* mu_util_maildir_walk */
|
||||
g_test_add_func ("/mu-maildir/mu-maildir-walk-01",
|
||||
test_mu_maildir_walk_01);
|
||||
g_test_add_func ("/mu-maildir/mu-maildir-walk-02",
|
||||
test_mu_maildir_walk_02);
|
||||
|
||||
g_log_set_handler (NULL,
|
||||
G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION,
|
||||
(GLogFunc)shutup, NULL);
|
||||
|
|
|
@ -0,0 +1,162 @@
|
|||
/*
|
||||
** Copyright (C) 2010 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
|
||||
**
|
||||
** This program is free software; you can redistribute it and/or modify it
|
||||
** under the terms of the GNU General Public License as published by the
|
||||
** Free Software Foundation; either version 3, or (at your option) any
|
||||
** later version.
|
||||
**
|
||||
** This program is distributed in the hope that it will be useful,
|
||||
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
** GNU General Public License for more details.
|
||||
**
|
||||
** You should have received a copy of the GNU General Public License
|
||||
** along with this program; if not, write to the Free Software Foundation,
|
||||
** Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
**
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif /*HAVE_CONFIG_H*/
|
||||
|
||||
#include <glib.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <time.h>
|
||||
|
||||
#include <locale.h>
|
||||
#include "src/mu-msg-str.h"
|
||||
|
||||
static void
|
||||
test_mu_msg_str_date_01 (void)
|
||||
{
|
||||
struct tm *tmbuf;
|
||||
char buf[64];
|
||||
gchar *tmp;
|
||||
time_t some_time;
|
||||
|
||||
some_time = 1234567890;
|
||||
tmbuf = localtime (&some_time);
|
||||
strftime (buf, 64, "%c", tmbuf);
|
||||
|
||||
/* $ date -ud@1234567890; Fri Feb 13 23:31:30 UTC 2009 */
|
||||
g_assert_cmpstr (mu_msg_str_date_s (some_time), ==, buf);
|
||||
|
||||
/* date -ud@987654321 Thu Apr 19 04:25:21 UTC 2001 */
|
||||
some_time = 987654321;
|
||||
tmbuf = localtime (&some_time);
|
||||
strftime (buf, 64, "%c", tmbuf);
|
||||
tmp = mu_msg_str_date (some_time);
|
||||
|
||||
g_assert_cmpstr (tmp, ==, buf);
|
||||
g_free (tmp);
|
||||
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
test_mu_msg_str_size_01 (void)
|
||||
{
|
||||
struct lconv *lc;
|
||||
char *tmp2;
|
||||
|
||||
lc = localeconv();
|
||||
|
||||
tmp2 = g_strdup_printf ("0%s0 kB", lc->decimal_point);
|
||||
g_assert_cmpstr (mu_msg_str_size_s (0), ==, tmp2);
|
||||
g_free (tmp2);
|
||||
|
||||
tmp2 = g_strdup_printf ("100%s0 kB", lc->decimal_point);
|
||||
g_assert_cmpstr (mu_msg_str_size_s (100000), ==, tmp2);
|
||||
g_free (tmp2);
|
||||
|
||||
tmp2 = g_strdup_printf ("1%s1 MB", lc->decimal_point);
|
||||
g_assert_cmpstr (mu_msg_str_size_s (1100*1000), ==, tmp2);
|
||||
g_free (tmp2);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
test_mu_msg_str_size_02 (void)
|
||||
{
|
||||
struct lconv *lc;
|
||||
char *tmp1, *tmp2;
|
||||
|
||||
lc = localeconv();
|
||||
|
||||
tmp2 = g_strdup_printf ("1%s0 MB", lc->decimal_point);
|
||||
tmp1 = mu_msg_str_size (999999);
|
||||
g_assert_cmpstr (tmp1, !=, tmp2);
|
||||
|
||||
g_free (tmp1);
|
||||
g_free (tmp2);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
test_mu_msg_str_prio_01 (void)
|
||||
{
|
||||
g_assert_cmpstr (mu_msg_str_prio(MU_MSG_PRIORITY_LOW), ==, "low");
|
||||
g_assert_cmpstr (mu_msg_str_prio(MU_MSG_PRIORITY_NORMAL), ==, "normal");
|
||||
g_assert_cmpstr (mu_msg_str_prio(MU_MSG_PRIORITY_HIGH), ==, "high");
|
||||
}
|
||||
|
||||
|
||||
static gboolean
|
||||
ignore_error (const char* log_domain, GLogLevelFlags log_level, const gchar* msg,
|
||||
gpointer user_data)
|
||||
{
|
||||
return FALSE; /* don't abort */
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
test_mu_msg_str_prio_02 (void)
|
||||
{
|
||||
/* this must fail */
|
||||
g_test_log_set_fatal_handler ((GTestLogFatalFunc)ignore_error, NULL);
|
||||
|
||||
g_assert_cmpstr (mu_msg_str_prio(666), ==, NULL);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
shutup (void) {}
|
||||
|
||||
|
||||
|
||||
int
|
||||
main (int argc, char *argv[])
|
||||
{
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
|
||||
/* mu_msg_str_date */
|
||||
g_test_add_func ("/mu-msg-str/mu-msg-str-date",
|
||||
test_mu_msg_str_date_01);
|
||||
|
||||
/* mu_msg_str_size */
|
||||
g_test_add_func ("/mu-msg-str/mu-msg-str-size-01",
|
||||
test_mu_msg_str_size_01);
|
||||
g_test_add_func ("/mu-msg-str/mu-msg-str-size-02",
|
||||
test_mu_msg_str_size_02);
|
||||
|
||||
/* mu_msg_str_prio */
|
||||
g_test_add_func ("/mu-msg-str/mu-msg-str-prio-01",
|
||||
test_mu_msg_str_prio_01);
|
||||
g_test_add_func ("/mu-msg-str/mu-msg-str-prio-02",
|
||||
test_mu_msg_str_prio_02);
|
||||
|
||||
/* FIXME: add tests for mu_msg_str_flags; but note the
|
||||
* function simply calls mu_msg_field_str */
|
||||
|
||||
g_log_set_handler (NULL,
|
||||
G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION,
|
||||
(GLogFunc)shutup, NULL);
|
||||
|
||||
return g_test_run ();
|
||||
}
|
Binary file not shown.
|
@ -0,0 +1,146 @@
|
|||
Return-Path: <gcc-help-return-33661-xxxx.klub=gmail.com@gcc.gnu.org>
|
||||
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on mindcrime
|
||||
X-Spam-Level:
|
||||
X-Spam-Status: No, score=-4.9 required=3.0 tests=BAYES_00,DATE_IN_PAST_96_XX,
|
||||
RCVD_IN_DNSWL_MED autolearn=ham version=3.2.5
|
||||
X-Original-To: xxxx@localhost
|
||||
Delivered-To: xxxx@localhost
|
||||
Received: from mindcrime (localhost [127.0.0.1])
|
||||
by mail.xxxxsoftware.nl (Postfix) with ESMTP id 5123469CB3
|
||||
for <xxxx@localhost>; Thu, 7 Aug 2008 08:10:19 +0300 (EEST)
|
||||
Delivered-To: xxxx.klub@gmail.com
|
||||
Received: from gmail-imap.l.google.com [66.249.91.109]
|
||||
by mindcrime with IMAP (fetchmail-6.3.8)
|
||||
for <xxxx@localhost> (single-drop); Thu, 07 Aug 2008 08:10:19 +0300 (EEST)
|
||||
Received: by 10.142.237.21 with SMTP id k21cs39272wfh; Wed, 6 Aug 2008
|
||||
20:15:17 -0700 (PDT)
|
||||
Received: by 10.65.133.8 with SMTP id k8mr2071878qbn.7.1218078916289; Wed, 06
|
||||
Aug 2008 20:15:16 -0700 (PDT)
|
||||
Received: from sourceware.org (sourceware.org [209.132.176.174]) by
|
||||
mx.google.com with SMTP id 28si7904461qbw.0.2008.08.06.20.15.15; Wed, 06 Aug
|
||||
2008 20:15:16 -0700 (PDT)
|
||||
Received-SPF: neutral (google.com: 209.132.176.174 is neither permitted nor
|
||||
denied by domain of gcc-help-return-33661-xxxx.klub=gmail.com@gcc.gnu.org)
|
||||
client-ip=209.132.176.174;
|
||||
Authentication-Results: mx.google.com; spf=neutral (google.com:
|
||||
209.132.176.174 is neither permitted nor denied by domain of
|
||||
gcc-help-return-33661-xxxx.klub=gmail.com@gcc.gnu.org)
|
||||
smtp.mail=gcc-help-return-33661-xxxx.klub=gmail.com@gcc.gnu.org
|
||||
Received: (qmail 13493 invoked by alias); 7 Aug 2008 03:15:13 -0000
|
||||
Received: (qmail 13485 invoked by uid 22791); 7 Aug 2008 03:15:12 -0000
|
||||
Received: from mailgw1a.lmco.com (HELO mailgw1a.lmco.com) (192.31.106.7)
|
||||
by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 07 Aug 2008 03:14:27 +0000
|
||||
Received: from emss07g01.ems.lmco.com (relay5.ems.lmco.com [166.29.2.16])by
|
||||
mailgw1a.lmco.com (LM-6) with ESMTP id m773EPZH014730for
|
||||
<gcc-help@gcc.gnu.org>; Wed, 6 Aug 2008 21:14:25 -0600 (MDT)
|
||||
Received: from CONVERSION2-DAEMON.lmco.com by lmco.com (PMDF V6.3-x14 #31428)
|
||||
id <0K5700601NO18J@lmco.com> for gcc-help@gcc.gnu.org; Wed, 06 Aug 2008
|
||||
21:14:25 -0600 (MDT)
|
||||
Received: from EMSS04I00.us.lmco.com ([166.17.13.135]) by lmco.com (PMDF
|
||||
V6.3-x14 #31428) with ESMTP id <0K5700H5MNNWGX@lmco.com> for
|
||||
gcc-help@gcc.gnu.org; Wed, 06 Aug 2008 21:14:20 -0600 (MDT)
|
||||
Received: from EMSS35M06.us.lmco.com ([158.187.107.143]) by
|
||||
EMSS04I00.us.lmco.com with Microsoft SMTPSVC(5.0.2195.6713); Wed, 06 Aug
|
||||
2008 23:14:20 -0400
|
||||
Date: Thu, 31 Jul 2008 14:57:25 -0400
|
||||
From: anon@example.com
|
||||
Subject: gcc include search order
|
||||
To: gcc-help@gcc.gnu.org
|
||||
Message-id: <3BE9E6535E3029448670913581E7A1A20D852173@emss35m06.us.lmco.com>
|
||||
MIME-version: 1.0
|
||||
Content-type: text/plain; charset=us-ascii
|
||||
Content-transfer-encoding: 7BIT
|
||||
Content-class: urn:content-classes:message
|
||||
Mailing-List: contact gcc-help-help@gcc.gnu.org; run by ezmlm
|
||||
Precedence: klub
|
||||
List-Id: <gcc-help.gcc.gnu.org>
|
||||
List-Unsubscribe: <mailto:gcc-help-unsubscribe-xxxx.klub=gmail.com@gcc.gnu.org>
|
||||
List-Archive: <http://gcc.gnu.org/ml/gcc-help/>
|
||||
List-Post: <mailto:gcc-help@gcc.gnu.org>
|
||||
List-Help: <mailto:gcc-help-help@gcc.gnu.org>
|
||||
Sender: gcc-help-owner@gcc.gnu.org
|
||||
Delivered-To: mailing list gcc-help@gcc.gnu.org
|
||||
Content-Length: 3024
|
||||
|
||||
|
||||
Hi.
|
||||
In my unit testing I need to change some header files (target is
|
||||
vxWorks, which supports some things that the sun does not).
|
||||
So, what I do is fetch the development tree, and then in a new unit test
|
||||
directory I attempt to compile the unit under test. Since this is NOT
|
||||
vxworks, I use sed to change some of the .h files and put them in a
|
||||
./changed directory.
|
||||
|
||||
When I try to compile the file, it is still using the .h file from the
|
||||
original location, even though I have listed the include path for
|
||||
./changed before the include path for the development tree.
|
||||
|
||||
Here is a partial output from gcc using the -v option
|
||||
|
||||
GNU CPP version 3.1 (cpplib) (sparc ELF)
|
||||
GNU C++ version 3.1 (sparc-sun-solaris2.8)
|
||||
compiled by GNU C version 3.1.
|
||||
ignoring nonexistent directory "NONE/include"
|
||||
#include "..." search starts here:
|
||||
#include <...> search starts here:
|
||||
.
|
||||
changed
|
||||
/export/home4/xxx/yyyy/builds/int_rel5_latest/src/mp/interface
|
||||
/export/home4/xxx/yyyy/builds/int_rel5_latest/src/ap/app
|
||||
/export/home4/xxx/yyyy/builds/int_rel5_latest/src/shared/common
|
||||
/export/home4/xxx/yyyy/builds/int_rel5_latest/src/shared/interface
|
||||
/usr/local/include/g++-v3
|
||||
/usr/local/include/g++-v3/sparc-sun-solaris2.8
|
||||
/usr/local/include/g++-v3/backward
|
||||
/usr/local/include
|
||||
/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.1/include
|
||||
/usr/local/sparc-sun-solaris2.8/include
|
||||
/usr/include
|
||||
End of search list.
|
||||
|
||||
I know the changed file is correct and that the include is not working
|
||||
as expected, because when I copy the file from ./changed, back into the
|
||||
development tree, the compilation works as expected.
|
||||
|
||||
One more bit of information. The source that I cam compiling is in
|
||||
/export/home4/xxx/yyyy/builds/int_rel5_latest/src/ap/app
|
||||
And it is including files from
|
||||
/export/home4/xxx/yyyy/builds/int_rel5_latest/src/shared/common
|
||||
These include files should be including the files from ./changed (when
|
||||
they exist) but they are ignoring the .h files in the ./changed
|
||||
directory and are instead using other, unchanged files in the
|
||||
/export/home4/xxx/yyyy/builds/int_rel5_latest/src/shared/common
|
||||
directory.
|
||||
|
||||
The gcc command line is something like
|
||||
|
||||
TEST_DIR="."
|
||||
|
||||
CHANGED_DIR_NAME=changed
|
||||
CHANGED_FILES_DIR=${TEST_DIR}/${CHANGED_DIR_NAME}
|
||||
|
||||
CICU_HEADER_FILES="-I ${AP_INTERFACE_FILES} -I ${AP_APP_FILES} -I
|
||||
${SHARED_COMMON_FILES} -I ${SHARED_INTERFACE_FILES}"
|
||||
|
||||
HEADERS="-I ./ -I ${CHANGED_FILES_DIR} ${CICU_HEADER_FILES}"
|
||||
DEFINES="-DSUNRUN -DA10_DEBUG -DJOETEST"
|
||||
|
||||
CFLAGS="-v -c -g -O1 -pipe -Wformat -Wunused -Wuninitialized -Wshadow
|
||||
-Wmissing-prototypes -Wmissing-declarations"
|
||||
|
||||
printf "Compiling the UUT File\n"
|
||||
gcc -fprofile-arcs -ftest-coverage ${CFLAGS} ${HEADERS} ${DEFINES}
|
||||
${AP_APP_FILES}/unitUnderTest.cpp
|
||||
|
||||
|
||||
I hope this explanation is clear. If anyone knows how to fix the command
|
||||
line so that it gets the .h files in the "changed" directory are used
|
||||
instead of files in the other include directories.
|
||||
|
||||
Thanks
|
||||
Joe
|
||||
|
||||
----------------------------------------------------
|
||||
Time Flies like an Arrow. Fruit Flies like a Banana
|
||||
|
||||
|
|
@ -0,0 +1,230 @@
|
|||
Return-Path: <sqlite-dev-bounces@sqlite.org>
|
||||
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on mindcrime
|
||||
X-Spam-Level:
|
||||
X-Spam-Status: No, score=-2.6 required=3.0 tests=BAYES_00,HTML_MESSAGE
|
||||
autolearn=ham version=3.2.5
|
||||
X-Original-To: xxxx@localhost
|
||||
Delivered-To: xxxx@localhost
|
||||
Received: from mindcrime (localhost [127.0.0.1])
|
||||
by mail.xxxxsoftware.nl (Postfix) with ESMTP id D724F6963B
|
||||
for <xxxx@localhost>; Mon, 4 Aug 2008 21:49:27 +0300 (EEST)
|
||||
Delivered-To: xxxx.klub@gmail.com
|
||||
Received: from gmail-imap.l.google.com [72.14.221.111]
|
||||
by mindcrime with IMAP (fetchmail-6.3.8)
|
||||
for <xxxx@localhost> (single-drop); Mon, 04 Aug 2008 21:49:27 +0300 (EEST)
|
||||
Received: by 10.142.51.12 with SMTP id y12cs86537wfy; Mon, 4 Aug 2008 00:38:51
|
||||
-0700 (PDT)
|
||||
Received: by 10.151.113.5 with SMTP id q5mr272266ybm.37.1217835529913; Mon, 04
|
||||
Aug 2008 00:38:49 -0700 (PDT)
|
||||
Received: from sqlite.org (sqlite.org [67.18.92.124]) by mx.google.com with
|
||||
ESMTP id 5si5754915ywd.8.2008.08.04.00.38.30; Mon, 04 Aug 2008 00:38:50 -0700
|
||||
(PDT)
|
||||
Received-SPF: pass (google.com: best guess record for domain of
|
||||
sqlite-dev-bounces@sqlite.org designates 67.18.92.124 as permitted sender)
|
||||
client-ip=67.18.92.124;
|
||||
Authentication-Results: mx.google.com; spf=pass (google.com: best guess record
|
||||
for domain of sqlite-dev-bounces@sqlite.org designates 67.18.92.124 as
|
||||
permitted sender) smtp.mail=sqlite-dev-bounces@sqlite.org
|
||||
Received: from sqlite.org (localhost [127.0.0.1]) by sqlite.org (Postfix) with
|
||||
ESMTP id 765A511C46; Mon, 4 Aug 2008 03:38:27 -0400 (EDT)
|
||||
X-Original-To: sqlite-dev@sqlite.org
|
||||
Delivered-To: sqlite-dev@sqlite.org
|
||||
Received: from ik-out-1112.google.com (ik-out-1112.google.com [66.249.90.176])
|
||||
by sqlite.org (Postfix) with ESMTP id 4C59511C41 for <sqlite-dev@sqlite.org>;
|
||||
Mon, 4 Aug 2008 03:38:23 -0400 (EDT)
|
||||
Received: by ik-out-1112.google.com with SMTP id b32so2163423ika.0 for
|
||||
<sqlite-dev@sqlite.org>; Mon, 04 Aug 2008 00:38:23 -0700 (PDT)
|
||||
Received: by 10.210.54.19 with SMTP id c19mr14589042eba.107.1217835502549;
|
||||
Mon, 04 Aug 2008 00:38:22 -0700 (PDT)
|
||||
Received: by 10.210.115.10 with HTTP; Mon, 4 Aug 2008 00:38:22 -0700 (PDT)
|
||||
Message-ID: <477821040808040038s381bf382p7411451e3c1a2e4e@mail.gmail.com>
|
||||
Date: Mon, 4 Aug 2008 10:38:22 +0300
|
||||
From: anon@example.com
|
||||
To: sqlite-dev@sqlite.org
|
||||
In-Reply-To: <73d4fc50808030747g303a170ieac567723c2d4f24@mail.gmail.com>
|
||||
MIME-Version: 1.0
|
||||
References: <477821040808030533y41f1501dq32447b568b6e6ca5@mail.gmail.com>
|
||||
<73d4fc50808030747g303a170ieac567723c2d4f24@mail.gmail.com>
|
||||
Subject: Re: [sqlite-dev] SQLite exception
|
||||
X-BeenThere: sqlite-dev@sqlite.org
|
||||
X-Mailman-Version: 2.1.9
|
||||
Precedence: list
|
||||
Reply-To: sqlite-dev@sqlite.org
|
||||
List-Id: <sqlite-dev.sqlite.org>
|
||||
List-Unsubscribe: <http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev>,
|
||||
<mailto:sqlite-dev-request@sqlite.org?subject=unsubscribe>
|
||||
List-Archive: <http://sqlite.org:8080/cgi-bin/mailman/private/sqlite-dev>
|
||||
List-Post: <mailto:sqlite-dev@sqlite.org>
|
||||
List-Help: <mailto:sqlite-dev-request@sqlite.org?subject=help>
|
||||
List-Subscribe: <http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev>,
|
||||
<mailto:sqlite-dev-request@sqlite.org?subject=subscribe>
|
||||
Content-Type: multipart/mixed; boundary="===============2123623832=="
|
||||
Mime-version: 1.0
|
||||
Sender: sqlite-dev-bounces@sqlite.org
|
||||
Errors-To: sqlite-dev-bounces@sqlite.org
|
||||
Content-Length: 8475
|
||||
|
||||
--===============2123623832==
|
||||
Content-Type: multipart/alternative;
|
||||
boundary="----=_Part_29556_25702991.1217835502493"
|
||||
|
||||
------=_Part_29556_25702991.1217835502493
|
||||
Content-Type: text/plain; charset=ISO-8859-1
|
||||
Content-Transfer-Encoding: 7bit
|
||||
Content-Disposition: inline
|
||||
|
||||
Hi Grant,
|
||||
|
||||
Thanks for your reply.
|
||||
I am using a different session for each thread, whenever a thread wishes to
|
||||
access the database it gets a session from the session pool and works with
|
||||
that session until its work is done.
|
||||
|
||||
Most of the actions the threads are doing on the database are quite
|
||||
complicated and are required to be fully committed or completely ignored, so
|
||||
yes, I am (most of the time) explicitly beginning and committing my
|
||||
transactions.
|
||||
|
||||
Regarding the SQLiteStatementImpl, I believe the Poco manual explains that
|
||||
sessions and statements for that matter cannot be shared between threads,
|
||||
therefore if you are using a session via one thread only it should work
|
||||
fine.
|
||||
|
||||
My first impression was that the problem was in the Poco infrastructure (I
|
||||
have found several Poco related bugs in the past), but the problem ALWAYS
|
||||
occurs when I perform the "BEGIN IMMEDIATE" action, if it were a Poco
|
||||
related bug, I would expect to see it here and there without any relation to
|
||||
this specific statement, but that is not the case.
|
||||
|
||||
None the less, I will also post my question on the Poco forums.
|
||||
|
||||
Nadav.
|
||||
|
||||
On Sun, Aug 3, 2008 at 5:47 PM, Grant Gatchel <grant.gatchel@gmail.com>wrote:
|
||||
|
||||
> Are you using the same Poco::Session for every thread or does each call
|
||||
> create a new session/handle to the database?
|
||||
>
|
||||
> Are you explicitly BEGINning and COMMITting your transactions?
|
||||
>
|
||||
> In looking at the 1.3.2 branch of Poco::Data::SQLite, there appears to be a
|
||||
> race condition in the SQLiteStatementImpl::next() method in which the member
|
||||
> _nextResponse is being accessed before the SQLiteStatementImpl::hasNext()
|
||||
> method has a chance to interpret that value and throw an exception.
|
||||
>
|
||||
> This question might be more suitable in the Poco forums or mailinglist.
|
||||
>
|
||||
> - Grant
|
||||
>
|
||||
> On Sun, Aug 3, 2008 at 8:33 AM, nadav g <nadav.gr@gmail.com> wrote:
|
||||
>
|
||||
>> Hi All,
|
||||
>>
|
||||
>> I have been using SQLite with Poco (www.appinf.com) as my infrastructure.
|
||||
>> The program is running several threads that access this database very
|
||||
>> often and are synchronized by SQLite itself.
|
||||
>> Everything seems to work just fine most of time (usually days - weeks) but
|
||||
>> I do get an occasional exception:
|
||||
>>
|
||||
>> Exception: SQL error or missing database: Iterator Error: trying to check
|
||||
>> if there is a next value
|
||||
>>
|
||||
>> The backtrace leads to this statement:
|
||||
>> *"BEGIN IMMEDIATE"*
|
||||
>>
|
||||
>> This specific code runs numerous times before an exception occurs (if
|
||||
>> occurs at all) and I cannot think of any reason for it to fail later rather
|
||||
>> than sooner.
|
||||
>> It is pretty obvious that this situation occurs due to some rare thread
|
||||
>> state, but I could not find any information that gives me any hint as to
|
||||
>> what this state might be.
|
||||
>>
|
||||
>> So what I am asking is:
|
||||
>> 1) Does anyone know why this sort of exception occurs?
|
||||
>> 2) Can anyone think of a reason for such an exception to occur in the
|
||||
>> situation I have described?
|
||||
>>
|
||||
>> Thanks in advance,
|
||||
>> Nadav.
|
||||
>>
|
||||
>>
|
||||
>> _______________________________________________
|
||||
>> sqlite-dev mailing list
|
||||
>> sqlite-dev@sqlite.org
|
||||
>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev
|
||||
>>
|
||||
>>
|
||||
>
|
||||
> _______________________________________________
|
||||
> sqlite-dev mailing list
|
||||
> sqlite-dev@sqlite.org
|
||||
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev
|
||||
>
|
||||
>
|
||||
|
||||
------=_Part_29556_25702991.1217835502493
|
||||
Content-Type: text/html; charset=ISO-8859-1
|
||||
Content-Transfer-Encoding: 7bit
|
||||
Content-Disposition: inline
|
||||
|
||||
<div dir="ltr">Hi Grant,<br><br>Thanks for your reply.<br>I am using a different session for each thread, whenever a thread wishes to access the database it gets a session from the session pool and works with that session until its work is done.<br>
|
||||
<br>Most of the actions the threads are doing on the database are quite complicated and are required to be fully committed or completely ignored, so yes, I am (most of the time) explicitly beginning and committing my transactions.<br>
|
||||
<br>Regarding the SQLiteStatementImpl, I believe the Poco manual explains that sessions and statements for that matter cannot be shared between threads, therefore if you are using a session via one thread only it should work fine.<br>
|
||||
<br>My first impression was that the problem was in the Poco infrastructure (I have found several Poco related bugs in the past), but the problem ALWAYS occurs when I perform the "BEGIN IMMEDIATE" action, if it were a Poco related bug, I would expect to see it here and there without any relation to this specific statement, but that is not the case.<br>
|
||||
<br>None the less, I will also post my question on the Poco forums.<br><br>Nadav.<br><br><div class="gmail_quote">On Sun, Aug 3, 2008 at 5:47 PM, Grant Gatchel <span dir="ltr"><<a href="mailto:grant.gatchel@gmail.com">grant.gatchel@gmail.com</a>></span> wrote:<br>
|
||||
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div dir="ltr">Are you using the same Poco::Session for every thread or does each call create a new session/handle to the database?<br>
|
||||
<br>Are you explicitly BEGINning and COMMITting your transactions?<br><br>In looking at the 1.3.2 branch of Poco::Data::SQLite, there appears to be a race condition in the SQLiteStatementImpl::next() method in which the member _nextResponse is being accessed before the SQLiteStatementImpl::hasNext() method has a chance to interpret that value and throw an exception.<br>
|
||||
|
||||
<br>This question might be more suitable in the Poco forums or mailinglist.<br><br>- Grant<br>
|
||||
<br><div class="gmail_quote"><div><div></div><div class="Wj3C7c">
|
||||
On Sun, Aug 3, 2008 at 8:33 AM, nadav g <span dir="ltr"><<a href="http://nadav.gr" target="_blank">nadav.gr</a>@<a href="http://gmail.com" target="_blank">gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
|
||||
<div><div></div><div class="Wj3C7c">
|
||||
|
||||
|
||||
<div dir="ltr">Hi All,<br><br>I have been using SQLite with Poco (<a href="http://www.appinf.com" target="_blank">www.appinf.com</a>) as my infrastructure.<br>The program is running several threads that access this database very often and are synchronized by SQLite itself.<br>
|
||||
|
||||
|
||||
|
||||
|
||||
Everything seems to work just fine most of time (usually days - weeks) but I do get an occasional exception:<br><br>Exception: SQL error or missing database: Iterator Error: trying to check if there is a next value<br><br>
|
||||
|
||||
|
||||
|
||||
|
||||
The backtrace leads to this statement:<br><b>"BEGIN IMMEDIATE"</b><br><br>This specific code runs numerous times before an exception occurs (if occurs at all) and I cannot think of any reason for it to fail later rather than sooner.<br>
|
||||
|
||||
|
||||
|
||||
|
||||
It is pretty obvious that this situation occurs due to some rare thread state, but I could not find any information that gives me any hint as to what this state might be.<br><br>So what I am asking is:<br>1) Does anyone know why this sort of exception occurs?<br>
|
||||
|
||||
|
||||
|
||||
|
||||
2) Can anyone think of a reason for such an exception to occur in the situation I have described?<br><br>Thanks in advance,<br>Nadav.<br><br></div>
|
||||
<br></div></div>_______________________________________________<br>
|
||||
sqlite-dev mailing list<br>
|
||||
<a href="mailto:sqlite-dev@sqlite.org" target="_blank">sqlite-dev@sqlite.org</a><br>
|
||||
<a href="http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev" target="_blank">http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev</a><br>
|
||||
<br></blockquote></div><br></div>
|
||||
<br>_______________________________________________<br>
|
||||
sqlite-dev mailing list<br>
|
||||
<a href="mailto:sqlite-dev@sqlite.org">sqlite-dev@sqlite.org</a><br>
|
||||
<a href="http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev" target="_blank">http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev</a><br>
|
||||
<br></blockquote></div><br></div>
|
||||
|
||||
------=_Part_29556_25702991.1217835502493--
|
||||
|
||||
--===============2123623832==
|
||||
Content-Type: text/plain; charset="us-ascii"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
Content-Disposition: inline
|
||||
|
||||
_______________________________________________
|
||||
sqlite-dev mailing list
|
||||
sqlite-dev@sqlite.org
|
||||
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev
|
||||
|
||||
--===============2123623832==--
|
||||
|
|
@ -0,0 +1,136 @@
|
|||
Return-Path: <help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org>
|
||||
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on mindcrime
|
||||
X-Spam-Level:
|
||||
X-Spam-Status: No, score=-3.6 required=3.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW,
|
||||
SPF_PASS,WHOIS_NETSOLPR autolearn=ham version=3.2.5
|
||||
X-Original-To: xxxx@localhost
|
||||
Delivered-To: xxxx@localhost
|
||||
Received: from mindcrime (localhost [127.0.0.1])
|
||||
by mail.xxxxsoftware.nl (Postfix) with ESMTP id 1A6CD69CB6
|
||||
for <xxxx@localhost>; Tue, 12 Aug 2008 21:42:38 +0300 (EEST)
|
||||
Delivered-To: xxxx.klub@gmail.com
|
||||
Received: from gmail-imap.l.google.com [72.14.221.109]
|
||||
by mindcrime with IMAP (fetchmail-6.3.8)
|
||||
for <xxxx@localhost> (single-drop); Tue, 12 Aug 2008 21:42:38 +0300 (EEST)
|
||||
Received: by 10.142.237.21 with SMTP id k21cs123119wfh; Sun, 10 Aug 2008
|
||||
22:06:31 -0700 (PDT)
|
||||
Received: by 10.100.166.10 with SMTP id o10mr9327844ane.0.1218431190107; Sun,
|
||||
10 Aug 2008 22:06:30 -0700 (PDT)
|
||||
Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) by mx.google.com
|
||||
with ESMTP id c29si10110392anc.13.2008.08.10.22.06.29; Sun, 10 Aug 2008
|
||||
22:06:30 -0700 (PDT)
|
||||
Received-SPF: pass (google.com: domain of
|
||||
help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org designates 199.232.76.165
|
||||
as permitted sender) client-ip=199.232.76.165;
|
||||
Authentication-Results: mx.google.com; spf=pass (google.com: domain of
|
||||
help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org designates 199.232.76.165
|
||||
as permitted sender)
|
||||
smtp.mail=help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
|
||||
Received: from localhost ([127.0.0.1]:45637 helo=lists.gnu.org) by
|
||||
lists.gnu.org with esmtp (Exim 4.43) id 1KSPbx-0006dj-96 for
|
||||
xxxx.klub@gmail.com; Mon, 11 Aug 2008 01:06:29 -0400
|
||||
Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id
|
||||
1KSPbE-0006cQ-Nd for help-gnu-emacs@gnu.org; Mon, 11 Aug 2008 01:05:44 -0400
|
||||
Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id
|
||||
1KSPbD-0006bs-Px for help-gnu-emacs@gnu.org; Mon, 11 Aug 2008 01:05:44 -0400
|
||||
Received: from [199.232.76.173] (port=37426 helo=monty-python.gnu.org) by
|
||||
lists.gnu.org with esmtp (Exim 4.43) id 1KSPbD-0006bk-HT for
|
||||
help-gnu-emacs@gnu.org; Mon, 11 Aug 2008 01:05:43 -0400
|
||||
Received: from main.gmane.org ([80.91.229.2]:46446 helo=ciao.gmane.org) by
|
||||
monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim
|
||||
4.60) (envelope-from <geh-help-gnu-emacs@m.gmane.org>) id 1KSPbD-0003Kl-CA
|
||||
for help-gnu-emacs@gnu.org; Mon, 11 Aug 2008 01:05:43 -0400
|
||||
Received: from list by ciao.gmane.org with local (Exim 4.43) id
|
||||
1KSPb9-00080r-CX for help-gnu-emacs@gnu.org; Mon, 11 Aug 2008 05:05:39 +0000
|
||||
Received: from bas2-toronto63-1088792724.dsl.bell.ca ([64.229.168.148]) by
|
||||
main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for
|
||||
<help-gnu-emacs@gnu.org>; Mon, 11 Aug 2008 05:05:39 +0000
|
||||
Received: from cpchan by bas2-toronto63-1088792724.dsl.bell.ca with local
|
||||
(Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for <help-gnu-emacs@gnu.org>; Mon,
|
||||
11 Aug 2008 05:05:39 +0000
|
||||
X-Injected-Via-Gmane: http://gmane.org/
|
||||
To: help-gnu-emacs@gnu.org
|
||||
From: anon@example.com
|
||||
Date: Mon, 11 Aug 2008 01:03:22 -0400
|
||||
Organization: Linux Private Site
|
||||
Message-ID: <87bq00nnxh.fsf@MagnumOpus.Mercurius>
|
||||
References: <877iav5s49.fsf@163.com> <86hc9yc5sj.fsf@timbral.net>
|
||||
<877iat7udd.fsf@163.com> <87fxphcsxi.fsf@lion.rapttech.com.au>
|
||||
<8504ddd4-5e3b-4ed5-bf77-aa9cce81b59a@1g2000pre.googlegroups.com>
|
||||
<87k5es59we.fsf@lion.rapttech.com.au>
|
||||
<63c824e3-62b1-4a93-8fa8-2813e1f9397f@v13g2000pro.googlegroups.com>
|
||||
<874p5vsgg8.fsf@nonospaz.fatphil.org>
|
||||
<8250972e-1886-4021-80bc-376e34881c80@v39g2000pro.googlegroups.com>
|
||||
<87zlnnqvvs.fsf@nonospaz.fatphil.org>
|
||||
<57add0e0-b39d-4c71-8d2c-d3b9ddfaa1a9@1g2000pre.googlegroups.com>
|
||||
<87sktfnz5p.fsf@atthis.clsnet.nl>
|
||||
<562e1111-d9e7-4b6a-b661-3f9af13fea17@b30g2000prf.googlegroups.com>
|
||||
<87d4khoq97.fsf@atthis.clsnet.nl>
|
||||
<0fe404c5-cab8-4692-8a27-532e737a7813@i24g2000prf.googlegroups.com>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1;
|
||||
protocol="application/pgp-signature"
|
||||
X-Complaints-To: usenet@ger.gmane.org
|
||||
X-Gmane-NNTP-Posting-Host: bas2-toronto63-1088792724.dsl.bell.ca
|
||||
X-Face: G;
|
||||
Z,`sm>)4t4LB/GUrgH$W`!AmfHMj,LG)Z}X0ax@s9:0>0)B&@vcm{v-le)wng)?|o]D<V6&ay<F=H{M5?$T%p!dPdJeF,au\E@TA"v22K!Zl\\mzpU4]6$ZnAI3_L)h;
|
||||
fpd}mn2py/7gv^|*85-D_f:07cT>\Z}0:6X
|
||||
User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.0.60 (gnu/linux)
|
||||
Cancel-Lock: sha1:IKyfrl5drOw6HllHFSmWHAKEeC8=
|
||||
X-detected-kernel: by monty-python.gnu.org: Linux 2.6, seldom 2.4 (older, 4)
|
||||
Subject: Re: Can anybody tell me how to send HTML-format mail in gnus
|
||||
X-BeenThere: help-gnu-emacs@gnu.org
|
||||
X-Mailman-Version: 2.1.5
|
||||
Precedence: list
|
||||
List-Id: Users list for the GNU Emacs text editor <help-gnu-emacs.gnu.org>
|
||||
List-Unsubscribe: <http://lists.gnu.org/mailman/listinfo/help-gnu-emacs>,
|
||||
<mailto:help-gnu-emacs-request@gnu.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.gnu.org/pipermail/help-gnu-emacs>
|
||||
List-Post: <mailto:help-gnu-emacs@gnu.org>
|
||||
List-Help: <mailto:help-gnu-emacs-request@gnu.org?subject=help>
|
||||
List-Subscribe: <http://lists.gnu.org/mailman/listinfo/help-gnu-emacs>,
|
||||
<mailto:help-gnu-emacs-request@gnu.org?subject=subscribe>
|
||||
Sender: help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
|
||||
Errors-To: help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
|
||||
Content-Length: 1229
|
||||
Lines: 36
|
||||
|
||||
--=-=-=
|
||||
Content-Type: text/plain
|
||||
|
||||
Xah <xahlee@gmail.com> writes:
|
||||
|
||||
> So, i was reading about it in Wikipedia. Although i don't have a TV,
|
||||
> and haven't had since 2000, but i still enjoyed the festive spirits
|
||||
> anyhow. After all, i'm Chinese by blood. So, in my wandering, i ran
|
||||
> into this welcome song on youtube:
|
||||
>
|
||||
> http://www.youtube.com/watch?v=1HEndNYVhZo
|
||||
|
||||
What is your point? Your email is in plain text and I can click on the
|
||||
link just fine- it is not exactly rocket science to implement parsing of
|
||||
URL's to workable links in an Email program (a lot of programs does
|
||||
that, including Gnus). Images can be included inline if you want. Also
|
||||
mail markups such as *this*, **this** and _this_ have been around since
|
||||
the Usenet days and displayed appropriately by a number of mailers. Like
|
||||
others have said, most html messages that I have seen either contains
|
||||
useless information, or are plain spam and can introduce a host of
|
||||
security problems in some mailers.
|
||||
|
||||
Charles
|
||||
|
||||
|
||||
--=-=-=
|
||||
Content-Type: application/pgp-signature
|
||||
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2.0.4-svn0 (GNU/Linux)
|
||||
|
||||
iD8DBQFIn8gm3epPyyKbwPYRApbvAKDRirXwzMzI+NHV77+QcP3EgTPaCgCfb/6m
|
||||
GtNVKdYAeftaYm1nwRVoCDA=
|
||||
=ULo3
|
||||
-----END PGP SIGNATURE-----
|
||||
--=-=-=--
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
Return-Path: <help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org>
|
||||
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on mindcrime
|
||||
X-Spam-Level:
|
||||
X-Spam-Status: No, score=-2.6 required=3.0 tests=BAYES_00 autolearn=ham
|
||||
version=3.2.5
|
||||
X-Original-To: xxxx@localhost
|
||||
Delivered-To: xxxx@localhost
|
||||
Received: from mindcrime (localhost [127.0.0.1])
|
||||
by mail.xxxxsoftware.nl (Postfix) with ESMTP id C4D6569CB3
|
||||
for <xxxx@localhost>; Thu, 7 Aug 2008 08:10:08 +0300 (EEST)
|
||||
Delivered-To: xxxx.klub@gmail.com
|
||||
Received: from gmail-imap.l.google.com [66.249.91.109]
|
||||
by mindcrime with IMAP (fetchmail-6.3.8)
|
||||
for <xxxx@localhost> (single-drop); Thu, 07 Aug 2008 08:10:08 +0300 (EEST)
|
||||
Received: by 10.142.237.21 with SMTP id k21cs34794wfh; Wed, 6 Aug 2008
|
||||
13:40:29 -0700 (PDT)
|
||||
Received: by 10.100.33.13 with SMTP id g13mr1093301ang.79.1218055228418; Wed,
|
||||
06 Aug 2008 13:40:28 -0700 (PDT)
|
||||
Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) by mx.google.com
|
||||
with ESMTP id d19si15908789and.17.2008.08.06.13.40.27; Wed, 06 Aug 2008
|
||||
13:40:28 -0700 (PDT)
|
||||
Received-SPF: pass (google.com: domain of
|
||||
help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org designates 199.232.76.165
|
||||
as permitted sender) client-ip=199.232.76.165;
|
||||
Authentication-Results: mx.google.com; spf=pass (google.com: domain of
|
||||
help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org designates 199.232.76.165
|
||||
as permitted sender)
|
||||
smtp.mail=help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
|
||||
Received: from localhost ([127.0.0.1]:56316 helo=lists.gnu.org) by
|
||||
lists.gnu.org with esmtp (Exim 4.43) id 1KQpo3-0007Pc-Qk for
|
||||
xxxx.klub@gmail.com; Wed, 06 Aug 2008 16:40:27 -0400
|
||||
From: anon@example.com
|
||||
Newsgroups: gnu.emacs.help
|
||||
Date: Wed, 6 Aug 2008 20:38:35 +0100
|
||||
Message-ID: <r6bpm5-6n6.ln1@news.ducksburg.com>
|
||||
References: <55dbm5-qcl.ln1@news.ducksburg.com>
|
||||
<mailman.15710.1217599959.18990.help-gnu-emacs@gnu.org>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=us-ascii
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Trace: individual.net bABVU1hcJwWAuRwe/097AAoOXnGGeYR8G1In635iFGIyfDLPUv
|
||||
X-Orig-Path: news.ducksburg.com!news
|
||||
Cancel-Lock: sha1:wK7dsPRpNiVxpL/SfvmNzlvUR94=
|
||||
sha1:oepBoM0tJBLN52DotWmBBvW5wbg=
|
||||
User-Agent: slrn/pre0.9.9-120/mm/ao (Ubuntu Hardy)
|
||||
Path: news.stanford.edu!headwall.stanford.edu!newshub.sdsu.edu!feeder.erje.net!proxad.net!feeder1-2.proxad.net!feed.ac-versailles.fr!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
|
||||
Xref: news.stanford.edu gnu.emacs.help:160868
|
||||
To: help-gnu-emacs@gnu.org
|
||||
Subject: Re: Learning LISP; Scheme vs elisp.
|
||||
X-BeenThere: help-gnu-emacs@gnu.org
|
||||
X-Mailman-Version: 2.1.5
|
||||
Precedence: list
|
||||
List-Id: Users list for the GNU Emacs text editor <help-gnu-emacs.gnu.org>
|
||||
List-Unsubscribe: <http://lists.gnu.org/mailman/listinfo/help-gnu-emacs>,
|
||||
<mailto:help-gnu-emacs-request@gnu.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.gnu.org/pipermail/help-gnu-emacs>
|
||||
List-Post: <mailto:help-gnu-emacs@gnu.org>
|
||||
List-Help: <mailto:help-gnu-emacs-request@gnu.org?subject=help>
|
||||
List-Subscribe: <http://lists.gnu.org/mailman/listinfo/help-gnu-emacs>,
|
||||
<mailto:help-gnu-emacs-request@gnu.org?subject=subscribe>
|
||||
Sender: help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
|
||||
Errors-To: help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
|
||||
Content-Length: 417
|
||||
Lines: 11
|
||||
|
||||
On 2008-08-01, Thien-Thi Nguyen wrote:
|
||||
|
||||
> warriors attack, felling foe after foe,
|
||||
> few growing old til they realize: to know
|
||||
> what deceit is worth deflection;
|
||||
> such receipt reversed rejection!
|
||||
> then their heavy arms, e'er transformed to shields:
|
||||
> balanced hooked charms, ploughed deep, rich yields.
|
||||
|
||||
Aha: the exercise for the reader is to place the parens correctly.
|
||||
Might take me a while to solve this puzzle.
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
Return-Path: <sqlite-dev-bounces@sqlite.org>
|
||||
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on mindcrime
|
||||
X-Spam-Level:
|
||||
X-Spam-Status: No, score=-2.6 required=3.0 tests=BAYES_00 autolearn=ham
|
||||
version=3.2.5
|
||||
X-Original-To: xxxx@localhost
|
||||
Delivered-To: xxxx@localhost
|
||||
Received: from mindcrime (localhost [127.0.0.1])
|
||||
by mail.xxxxsoftware.nl (Postfix) with ESMTP id 32F276963F
|
||||
for <xxxx@localhost>; Mon, 4 Aug 2008 21:49:34 +0300 (EEST)
|
||||
Delivered-To: xxxx.klub@gmail.com
|
||||
Received: from gmail-imap.l.google.com [72.14.221.111]
|
||||
by mindcrime with IMAP (fetchmail-6.3.8)
|
||||
for <xxxx@localhost> (single-drop); Mon, 04 Aug 2008 21:49:34 +0300 (EEST)
|
||||
Received: by 10.142.51.12 with SMTP id y12cs89397wfy; Mon, 4 Aug 2008 02:41:16
|
||||
-0700 (PDT)
|
||||
Received: by 10.150.156.20 with SMTP id d20mr963580ybe.104.1217842875596; Mon,
|
||||
04 Aug 2008 02:41:15 -0700 (PDT)
|
||||
Received: from sqlite.org (sqlite.org [67.18.92.124]) by mx.google.com with
|
||||
ESMTP id 6si3605185ywi.1.2008.08.04.02.40.57; Mon, 04 Aug 2008 02:41:15 -0700
|
||||
(PDT)
|
||||
Received-SPF: pass (google.com: best guess record for domain of
|
||||
sqlite-dev-bounces@sqlite.org designates 67.18.92.124 as permitted sender)
|
||||
client-ip=67.18.92.124;
|
||||
Authentication-Results: mx.google.com; spf=pass (google.com: best guess record
|
||||
for domain of sqlite-dev-bounces@sqlite.org designates 67.18.92.124 as
|
||||
permitted sender) smtp.mail=sqlite-dev-bounces@sqlite.org
|
||||
Received: from sqlite.org (localhost [127.0.0.1]) by sqlite.org (Postfix) with
|
||||
ESMTP id 7147F11C45; Mon, 4 Aug 2008 05:40:55 -0400 (EDT)
|
||||
X-Original-To: sqlite-dev@sqlite.org
|
||||
Delivered-To: sqlite-dev@sqlite.org
|
||||
Received: from relay00.pair.com (relay00.pair.com [209.68.5.9]) by sqlite.org
|
||||
(Postfix) with SMTP id B5F901192C for <sqlite-dev@sqlite.org>; Mon, 4 Aug
|
||||
2008 05:40:52 -0400 (EDT)
|
||||
Received: (qmail 59961 invoked from network); 4 Aug 2008 09:40:50 -0000
|
||||
Received: from unknown (HELO ?192.168.0.17?) (unknown) by unknown with SMTP; 4
|
||||
Aug 2008 09:40:50 -0000
|
||||
X-pair-Authenticated: 87.13.75.164
|
||||
Message-Id: <83B5AF40-DBFA-4578-A043-04C80276E195@sqlabs.net>
|
||||
From: anon@example.com
|
||||
To: sqlite-dev@sqlite.org
|
||||
Mime-Version: 1.0 (Apple Message framework v926)
|
||||
Date: Mon, 4 Aug 2008 11:40:49 +0200
|
||||
X-Mailer: Apple Mail (2.926)
|
||||
Subject: [sqlite-dev] VM optimization inside sqlite3VdbeExec
|
||||
X-BeenThere: sqlite-dev@sqlite.org
|
||||
X-Mailman-Version: 2.1.9
|
||||
Precedence: list
|
||||
Reply-To: sqlite-dev@sqlite.org
|
||||
List-Id: <sqlite-dev.sqlite.org>
|
||||
List-Unsubscribe: <http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev>,
|
||||
<mailto:sqlite-dev-request@sqlite.org?subject=unsubscribe>
|
||||
List-Archive: <http://sqlite.org:8080/cgi-bin/mailman/private/sqlite-dev>
|
||||
List-Post: <mailto:sqlite-dev@sqlite.org>
|
||||
List-Help: <mailto:sqlite-dev-request@sqlite.org?subject=help>
|
||||
List-Subscribe: <http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev>,
|
||||
<mailto:sqlite-dev-request@sqlite.org?subject=subscribe>
|
||||
Content-Type: text/plain; charset="us-ascii"
|
||||
Content-Transfer-Encoding: 7bit
|
||||
Sender: sqlite-dev-bounces@sqlite.org
|
||||
Errors-To: sqlite-dev-bounces@sqlite.org
|
||||
Content-Length: 639
|
||||
|
||||
Inside sqlite3VdbeExec there is a very big switch statement.
|
||||
In order to increase performance with few modifications to the
|
||||
original code, why not use this technique ?
|
||||
http://docs.freebsd.org/info/gcc/gcc.info.Labels_as_Values.html
|
||||
|
||||
With a properly defined "instructions" array, instead of the switch
|
||||
statement you can use something like:
|
||||
goto * instructions[pOp->opcode];
|
||||
---
|
||||
Marco Bambini
|
||||
http://www.sqlabs.net
|
||||
http://www.sqlabs.net/blog/
|
||||
http://www.sqlabs.net/realsqlserver/
|
||||
|
||||
|
||||
|
||||
_______________________________________________
|
||||
sqlite-dev mailing list
|
||||
sqlite-dev@sqlite.org
|
||||
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev
|
||||
|
|
@ -0,0 +1,138 @@
|
|||
Return-Path: <sqlite-dev-bounces@sqlite.org>
|
||||
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on mindcrime
|
||||
X-Spam-Level:
|
||||
X-Spam-Status: No, score=-2.6 required=3.0 tests=BAYES_00 autolearn=ham
|
||||
version=3.2.5
|
||||
X-Original-To: xxxx@localhost
|
||||
Delivered-To: xxxx@localhost
|
||||
Received: from mindcrime (localhost [127.0.0.1])
|
||||
by mail.xxxxsoftware.nl (Postfix) with ESMTP id 3EBAB6963B
|
||||
for <xxxx@localhost>; Mon, 4 Aug 2008 21:49:35 +0300 (EEST)
|
||||
Delivered-To: xxxx.klub@gmail.com
|
||||
Received: from gmail-imap.l.google.com [72.14.221.111]
|
||||
by mindcrime with IMAP (fetchmail-6.3.8)
|
||||
for <xxxx@localhost> (single-drop); Mon, 04 Aug 2008 21:49:35 +0300 (EEST)
|
||||
Received: by 10.142.51.12 with SMTP id y12cs89536wfy; Mon, 4 Aug 2008 02:48:56
|
||||
-0700 (PDT)
|
||||
Received: by 10.150.134.21 with SMTP id h21mr7950048ybd.181.1217843335665;
|
||||
Mon, 04 Aug 2008 02:48:55 -0700 (PDT)
|
||||
Received: from sqlite.org (sqlite.org [67.18.92.124]) by mx.google.com with
|
||||
ESMTP id 6si5897081ywi.1.2008.08.04.02.48.35; Mon, 04 Aug 2008 02:48:55 -0700
|
||||
(PDT)
|
||||
Received-SPF: pass (google.com: best guess record for domain of
|
||||
sqlite-dev-bounces@sqlite.org designates 67.18.92.124 as permitted sender)
|
||||
client-ip=67.18.92.124;
|
||||
Authentication-Results: mx.google.com; spf=pass (google.com: best guess record
|
||||
for domain of sqlite-dev-bounces@sqlite.org designates 67.18.92.124 as
|
||||
permitted sender) smtp.mail=sqlite-dev-bounces@sqlite.org
|
||||
Received: from sqlite.org (localhost [127.0.0.1]) by sqlite.org (Postfix) with
|
||||
ESMTP id ED01611C4E; Mon, 4 Aug 2008 05:48:31 -0400 (EDT)
|
||||
X-Original-To: sqlite-dev@sqlite.org
|
||||
Delivered-To: sqlite-dev@sqlite.org
|
||||
Received: from mx0.security.ro (mx0.security.ro [80.96.72.194]) by sqlite.org
|
||||
(Postfix) with ESMTP id EB3F51192C for <sqlite-dev@sqlite.org>; Mon, 4 Aug
|
||||
2008 05:48:28 -0400 (EDT)
|
||||
Received: (qmail 348 invoked from network); 4 Aug 2008 12:48:03 +0300
|
||||
Received: from dev.security.ro (HELO ?192.168.1.70?) (192.168.1.70) by
|
||||
mx0.security.ro with SMTP; 4 Aug 2008 12:48:03 +0300
|
||||
Message-ID: <4896D06A.8000901@security.ro>
|
||||
Date: Mon, 04 Aug 2008 12:48:26 +0300
|
||||
From: anon@example.com
|
||||
User-Agent: Thunderbird 2.0.0.16 (Windows/20080708)
|
||||
MIME-Version: 1.0
|
||||
To: sqlite-dev@sqlite.org
|
||||
References: <83B5AF40-DBFA-4578-A043-04C80276E195@sqlabs.net>
|
||||
In-Reply-To: <83B5AF40-DBFA-4578-A043-04C80276E195@sqlabs.net>
|
||||
Content-Type: multipart/mixed; boundary="------------000207070200050102060301"
|
||||
X-BitDefender-Scanner: Clean, Agent: BitDefender qmail 2.0.0 on
|
||||
mx0.security.ro
|
||||
X-BitDefender-Spam: No (0)
|
||||
X-BitDefender-SpamStamp: v1, whitelisted, total: 0
|
||||
Subject: Re: [sqlite-dev] VM optimization inside sqlite3VdbeExec
|
||||
X-BeenThere: sqlite-dev@sqlite.org
|
||||
X-Mailman-Version: 2.1.9
|
||||
Precedence: list
|
||||
Reply-To: sqlite-dev@sqlite.org
|
||||
List-Id: <sqlite-dev.sqlite.org>
|
||||
List-Unsubscribe: <http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev>,
|
||||
<mailto:sqlite-dev-request@sqlite.org?subject=unsubscribe>
|
||||
List-Archive: <http://sqlite.org:8080/cgi-bin/mailman/private/sqlite-dev>
|
||||
List-Post: <mailto:sqlite-dev@sqlite.org>
|
||||
List-Help: <mailto:sqlite-dev-request@sqlite.org?subject=help>
|
||||
List-Subscribe: <http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev>,
|
||||
<mailto:sqlite-dev-request@sqlite.org?subject=subscribe>
|
||||
Sender: sqlite-dev-bounces@sqlite.org
|
||||
Errors-To: sqlite-dev-bounces@sqlite.org
|
||||
Content-Length: 2212
|
||||
|
||||
This is a multi-part message in MIME format.
|
||||
--------------000207070200050102060301
|
||||
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
|
||||
Content-Transfer-Encoding: 7bit
|
||||
|
||||
Marco Bambini wrote:
|
||||
> Inside sqlite3VdbeExec there is a very big switch statement.
|
||||
> In order to increase performance with few modifications to the
|
||||
> original code, why not use this technique ?
|
||||
> http://docs.freebsd.org/info/gcc/gcc.info.Labels_as_Values.html
|
||||
>
|
||||
> With a properly defined "instructions" array, instead of the switch
|
||||
> statement you can use something like:
|
||||
> goto * instructions[pOp->opcode];
|
||||
> ---
|
||||
> Marco Bambini
|
||||
> http://www.sqlabs.net
|
||||
> http://www.sqlabs.net/blog/
|
||||
> http://www.sqlabs.net/realsqlserver/
|
||||
>
|
||||
>
|
||||
>
|
||||
> _______________________________________________
|
||||
> sqlite-dev mailing list
|
||||
> sqlite-dev@sqlite.org
|
||||
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev
|
||||
>
|
||||
All the world's not a VAX. This technique is GCC-specific. The SQLite
|
||||
source must be as portable as possible thus tying it to a specific
|
||||
compiler is out of the question. While one could conceivably use some
|
||||
preprocessor magic to provide alternate implementations, that would be
|
||||
impractical considering the sheer size of the code affected.
|
||||
On the other hand - perhaps you could benchmark the change and provide
|
||||
some data on whether this actually improves performance?
|
||||
|
||||
|
||||
--------------000207070200050102060301
|
||||
Content-Type: text/x-vcard; charset=utf-8;
|
||||
name="mihailim.vcf"
|
||||
Content-Transfer-Encoding: 7bit
|
||||
Content-Disposition: attachment;
|
||||
filename="mihailim.vcf"
|
||||
|
||||
begin:vcard
|
||||
fn:Mihai Limbasan
|
||||
n:Limbasan;Mihai
|
||||
org:SC SECPRAL COM SRL
|
||||
adr:;;str. Actorului nr. 9;Cluj-Napoca;Cluj;400441;Romania
|
||||
email;internet:mihailim@security.ro
|
||||
title:SoftwareDeveloper
|
||||
tel;work:+40 264 449579
|
||||
tel;fax:+40 264 418594
|
||||
tel;cell:+40 729 038302
|
||||
url:http://secpral.ro/
|
||||
version:2.1
|
||||
end:vcard
|
||||
|
||||
|
||||
--------------000207070200050102060301
|
||||
Content-Type: text/plain; charset="us-ascii"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
Content-Disposition: inline
|
||||
|
||||
_______________________________________________
|
||||
sqlite-dev mailing list
|
||||
sqlite-dev@sqlite.org
|
||||
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev
|
||||
|
||||
--------------000207070200050102060301--
|
||||
|
|
@ -0,0 +1,111 @@
|
|||
Return-Path: <help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org>
|
||||
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on mindcrime
|
||||
X-Spam-Level:
|
||||
X-Spam-Status: No, score=-2.6 required=3.0 tests=BAYES_00 autolearn=ham
|
||||
version=3.2.5
|
||||
X-Original-To: xxxx@localhost
|
||||
Delivered-To: xxxx@localhost
|
||||
Received: from mindcrime (localhost [127.0.0.1])
|
||||
by mail.xxxxsoftware.nl (Postfix) with ESMTP id 6389969CB2
|
||||
for <xxxx@localhost>; Thu, 7 Aug 2008 08:10:07 +0300 (EEST)
|
||||
Delivered-To: xxxx.klub@gmail.com
|
||||
Received: from gmail-imap.l.google.com [66.249.91.109]
|
||||
by mindcrime with IMAP (fetchmail-6.3.8)
|
||||
for <xxxx@localhost> (single-drop); Thu, 07 Aug 2008 08:10:07 +0300 (EEST)
|
||||
Received: by 10.142.237.21 with SMTP id k21cs34769wfh; Wed, 6 Aug 2008
|
||||
13:38:53 -0700 (PDT)
|
||||
Received: by 10.100.6.13 with SMTP id 13mr4103508anf.83.1218055131215; Wed, 06
|
||||
Aug 2008 13:38:51 -0700 (PDT)
|
||||
Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) by mx.google.com
|
||||
with ESMTP id b32si10199298ana.34.2008.08.06.13.38.49; Wed, 06 Aug 2008
|
||||
13:38:51 -0700 (PDT)
|
||||
Received-SPF: pass (google.com: domain of
|
||||
help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org designates 199.232.76.165
|
||||
as permitted sender) client-ip=199.232.76.165;
|
||||
DomainKey-Status: good (test mode)
|
||||
Authentication-Results: mx.google.com; spf=pass (google.com: domain of
|
||||
help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org designates 199.232.76.165
|
||||
as permitted sender)
|
||||
smtp.mail=help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org; domainkeys=pass
|
||||
(test mode) header.From=juanma_bellon@yahoo.es
|
||||
Received: from localhost ([127.0.0.1]:55648 helo=lists.gnu.org) by
|
||||
lists.gnu.org with esmtp (Exim 4.43) id 1KQpmT-0005W9-AQ for
|
||||
xxxx.klub@gmail.com; Wed, 06 Aug 2008 16:38:49 -0400
|
||||
Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id
|
||||
1KQplz-0005U5-Pk for help-gnu-emacs@gnu.org; Wed, 06 Aug 2008 16:38:19 -0400
|
||||
Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id
|
||||
1KQplw-0005Nw-OG for help-gnu-emacs@gnu.org; Wed, 06 Aug 2008 16:38:19 -0400
|
||||
Received: from [199.232.76.173] (port=45465 helo=monty-python.gnu.org) by
|
||||
lists.gnu.org with esmtp (Exim 4.43) id 1KQplw-0005NX-I6 for
|
||||
help-gnu-emacs@gnu.org; Wed, 06 Aug 2008 16:38:16 -0400
|
||||
Received: from n74a.bullet.mail.sp1.yahoo.com ([98.136.45.21]:29868) by
|
||||
monty-python.gnu.org with smtp (Exim 4.60) (envelope-from
|
||||
<juanma_bellon@yahoo.es>) id 1KQplw-0007EF-7Z for help-gnu-emacs@gnu.org;
|
||||
Wed, 06 Aug 2008 16:38:16 -0400
|
||||
Received: from [216.252.122.216] by n74.bullet.mail.sp1.yahoo.com with NNFMP;
|
||||
06 Aug 2008 20:38:14 -0000
|
||||
Received: from [68.142.237.89] by t1.bullet.sp1.yahoo.com with NNFMP; 06 Aug
|
||||
2008 20:38:14 -0000
|
||||
Received: from [69.147.75.180] by t5.bullet.re3.yahoo.com with NNFMP; 06 Aug
|
||||
2008 20:38:14 -0000
|
||||
Received: from [127.0.0.1] by omp101.mail.re1.yahoo.com with NNFMP; 06 Aug
|
||||
2008 20:38:14 -0000
|
||||
X-Yahoo-Newman-Id: 778995.62909.bm@omp101.mail.re1.yahoo.com
|
||||
Received: (qmail 43643 invoked from network); 6 Aug 2008 20:38:14 -0000
|
||||
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.es;
|
||||
h=Received:X-YMail-OSG:X-Yahoo-Newman-Property:From:To:Subject:Date:User-Agent:References:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-Disposition:Message-Id;
|
||||
b=ThdHlND5CNUsLPGuk+XhCWkdUA9w7lg4hiAgx8F8egsmQteMpwUlV/Y5tfe6K3O2jzHjtsklkzWqm7WY3VAcxxD/QgxLnianK5ZQHoelDAiGaFRqu8Y42XMZso2ccCBFWUQaKo9C+KIfa3e3ci73qehVxTtmr7bxLjurcSYEBPo=
|
||||
;
|
||||
Received: from unknown (HELO 212251170160.customer.cdi.no)
|
||||
(juanma_bellon@212.251.170.160 with plain) by smtp109.plus.mail.re1.yahoo.com
|
||||
with SMTP; 6 Aug 2008 20:38:14 -0000
|
||||
X-YMail-OSG: k86L54kVM1kiZbUlYx7gayoBrCLYMFIRDL.KJLBKetNucAbwU4RjeeE1vhjw33hREaUig0CCjG7BTwIfbeZZpRmUcHbxl6gR0z6Sd3lYqA--
|
||||
X-Yahoo-Newman-Property: ymail-3
|
||||
From: anon@example.com
|
||||
To: help-gnu-emacs@gnu.org
|
||||
Date: Wed, 6 Aug 2008 22:38:15 +0200
|
||||
User-Agent: KMail/1.9.6 (enterprise 0.20070907.709405)
|
||||
References: <mailman.15123.1216681940.18990.help-gnu-emacs@gnu.org>
|
||||
<mailman.15143.1216715014.18990.help-gnu-emacs@gnu.org>
|
||||
<9bc17528-8ea9-49f7-8e9d-07f5ede91415@p31g2000prf.googlegroups.com>
|
||||
In-Reply-To: <9bc17528-8ea9-49f7-8e9d-07f5ede91415@p31g2000prf.googlegroups.com>
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
Content-Disposition: inline
|
||||
Message-Id: <200808062238.15634.juanma_bellon@yahoo.es>
|
||||
X-detected-kernel: by monty-python.gnu.org: FreeBSD 6.x (1)
|
||||
Subject: Re: basic question: going back to dired
|
||||
X-BeenThere: help-gnu-emacs@gnu.org
|
||||
X-Mailman-Version: 2.1.5
|
||||
Precedence: list
|
||||
List-Id: Users list for the GNU Emacs text editor <help-gnu-emacs.gnu.org>
|
||||
List-Unsubscribe: <http://lists.gnu.org/mailman/listinfo/help-gnu-emacs>,
|
||||
<mailto:help-gnu-emacs-request@gnu.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.gnu.org/pipermail/help-gnu-emacs>
|
||||
List-Post: <mailto:help-gnu-emacs@gnu.org>
|
||||
List-Help: <mailto:help-gnu-emacs-request@gnu.org?subject=help>
|
||||
List-Subscribe: <http://lists.gnu.org/mailman/listinfo/help-gnu-emacs>,
|
||||
<mailto:help-gnu-emacs-request@gnu.org?subject=subscribe>
|
||||
Sender: help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
|
||||
Errors-To: help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
|
||||
Content-Length: 361
|
||||
|
||||
On Thursday 31 July 2008, Xah wrote:
|
||||
> what's the logic of =E2=80=9COK=E2=80=9D?
|
||||
|
||||
=46or all I know, it comes from "0 Knock-outs" (from USA civil war times,
|
||||
IIRC), i.e., all went really well.
|
||||
|
||||
But this is really off-topic.
|
||||
=2D-=20
|
||||
Juanma
|
||||
|
||||
"Having a smoking section in a restaurant is like
|
||||
having a peeing section in a swimming pool."
|
||||
-- Edward Burr
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,105 @@
|
|||
Return-Path: <help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org>
|
||||
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on mindcrime
|
||||
X-Spam-Level:
|
||||
X-Spam-Status: No, score=-2.6 required=3.0 tests=BAYES_00 autolearn=ham
|
||||
version=3.2.5
|
||||
X-Original-To: xxxx@localhost
|
||||
Delivered-To: xxxx@localhost
|
||||
Received: from mindcrime (localhost [127.0.0.1])
|
||||
by mail.xxxxsoftware.nl (Postfix) with ESMTP id C3EF069CB3
|
||||
for <xxxx@localhost>; Thu, 7 Aug 2008 08:10:10 +0300 (EEST)
|
||||
Delivered-To: xxxx.klub@gmail.com
|
||||
Received: from gmail-imap.l.google.com [66.249.91.109]
|
||||
by mindcrime with IMAP (fetchmail-6.3.8)
|
||||
for <xxxx@localhost> (single-drop); Thu, 07 Aug 2008 08:10:10 +0300 (EEST)
|
||||
Received: by 10.142.237.21 with SMTP id k21cs35153wfh; Wed, 6 Aug 2008
|
||||
13:58:17 -0700 (PDT)
|
||||
Received: by 10.100.166.10 with SMTP id o10mr4182182ane.0.1218056296101; Wed,
|
||||
06 Aug 2008 13:58:16 -0700 (PDT)
|
||||
Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) by mx.google.com
|
||||
with ESMTP id d34si13875743and.3.2008.08.06.13.58.14; Wed, 06 Aug 2008
|
||||
13:58:16 -0700 (PDT)
|
||||
Received-SPF: pass (google.com: domain of
|
||||
help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org designates 199.232.76.165
|
||||
as permitted sender) client-ip=199.232.76.165;
|
||||
Authentication-Results: mx.google.com; spf=pass (google.com: domain of
|
||||
help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org designates 199.232.76.165
|
||||
as permitted sender)
|
||||
smtp.mail=help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org; dkim=pass (test
|
||||
mode) header.i=@gmail.com
|
||||
Received: from localhost ([127.0.0.1]:33418 helo=lists.gnu.org) by
|
||||
lists.gnu.org with esmtp (Exim 4.43) id 1KQq5G-0001aY-Cr for
|
||||
xxxx.klub@gmail.com; Wed, 06 Aug 2008 16:58:14 -0400
|
||||
Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id
|
||||
1KQq4n-0001Z9-06 for help-gnu-emacs@gnu.org; Wed, 06 Aug 2008 16:57:45 -0400
|
||||
Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id
|
||||
1KQq4l-0001V8-6c for help-gnu-emacs@gnu.org; Wed, 06 Aug 2008 16:57:44 -0400
|
||||
Received: from [199.232.76.173] (port=46438 helo=monty-python.gnu.org) by
|
||||
lists.gnu.org with esmtp (Exim 4.43) id 1KQq4k-0001Un-V2 for
|
||||
help-gnu-emacs@gnu.org; Wed, 06 Aug 2008 16:57:42 -0400
|
||||
Received: from ik-out-1112.google.com ([66.249.90.180]:17562) by
|
||||
monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from
|
||||
<lekktu@gmail.com>) id 1KQq4k-0001fk-OW for help-gnu-emacs@gnu.org; Wed, 06
|
||||
Aug 2008 16:57:42 -0400
|
||||
Received: by ik-out-1112.google.com with SMTP id c21so94956ika.2 for
|
||||
<help-gnu-emacs@gnu.org>; Wed, 06 Aug 2008 13:57:41 -0700 (PDT)
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
|
||||
h=domainkey-signature:received:received:message-id:date:from:to
|
||||
:subject:cc:in-reply-to:mime-version:content-type
|
||||
:content-transfer-encoding:content-disposition:references;
|
||||
bh=TTNY9749hpg1+TXOwdaCr+zbQGhBUt3IvsjLWp+pxp0=;
|
||||
b=BOfudUT/SiW9V4e9+k3dXDzwm+ogdrq4m5OlO+f1H+oE6OAYGIm8dbdqDAOwUewBoS
|
||||
jRpfZo07YamP9rkko79SeFdQnf7UAPFAw9x7DFCm3x6muSlCcJBR7vYs1rgHOSINAn2B
|
||||
vQx2//lKR4fXfKNURNu+B30KrvoEmw6m2C8dI=
|
||||
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma;
|
||||
h=message-id:date:from:to:subject:cc:in-reply-to:mime-version
|
||||
:content-type:content-transfer-encoding:content-disposition :references;
|
||||
b=UMDBulH/LwxDywEH0pfK3DbJ4u2kIZCVDLIM++PqrdcR82HjcS/O3Jhf5OFrf7Fnyj
|
||||
GH76xmc7zkTG/3aQy2WY6DeWCJaFarEItmhxy3h/xS+kUKeDARzNox0OzK6lIv/u9bdy
|
||||
f2LnFlYRJ7Q5vy3lxpxAWB4v0qCwtF9LjWFg4=
|
||||
Received: by 10.210.47.7 with SMTP id u7mr3100239ebu.30.1218056261587; Wed, 06
|
||||
Aug 2008 13:57:41 -0700 (PDT)
|
||||
Received: by 10.210.71.14 with HTTP; Wed, 6 Aug 2008 13:57:41 -0700 (PDT)
|
||||
Message-ID: <f7ccd24b0808061357t453f5962w8b61f9a453b684d0@mail.gmail.com>
|
||||
Date: Wed, 6 Aug 2008 22:57:41 +0200
|
||||
From: anon@example.com
|
||||
To: Juanma <juanma_bellon@yahoo.es>
|
||||
In-Reply-To: <200808062238.15634.juanma_bellon@yahoo.es>
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 7bit
|
||||
Content-Disposition: inline
|
||||
References: <mailman.15123.1216681940.18990.help-gnu-emacs@gnu.org>
|
||||
<mailman.15143.1216715014.18990.help-gnu-emacs@gnu.org>
|
||||
<9bc17528-8ea9-49f7-8e9d-07f5ede91415@p31g2000prf.googlegroups.com>
|
||||
<200808062238.15634.juanma_bellon@yahoo.es>
|
||||
X-detected-kernel: by monty-python.gnu.org: Linux 2.6 (newer, 2)
|
||||
Cc: help-gnu-emacs@gnu.org
|
||||
Subject: Re: basic question: going back to dired
|
||||
X-BeenThere: help-gnu-emacs@gnu.org
|
||||
X-Mailman-Version: 2.1.5
|
||||
Precedence: list
|
||||
List-Id: Users list for the GNU Emacs text editor <help-gnu-emacs.gnu.org>
|
||||
List-Unsubscribe: <http://lists.gnu.org/mailman/listinfo/help-gnu-emacs>,
|
||||
<mailto:help-gnu-emacs-request@gnu.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.gnu.org/pipermail/help-gnu-emacs>
|
||||
List-Post: <mailto:help-gnu-emacs@gnu.org>
|
||||
List-Help: <mailto:help-gnu-emacs-request@gnu.org?subject=help>
|
||||
List-Subscribe: <http://lists.gnu.org/mailman/listinfo/help-gnu-emacs>,
|
||||
<mailto:help-gnu-emacs-request@gnu.org?subject=subscribe>
|
||||
Sender: help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
|
||||
Errors-To: help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
|
||||
Content-Length: 309
|
||||
|
||||
On Wed, Aug 6, 2008 at 22:38, Juanma <juanma_bellon@yahoo.es> wrote:
|
||||
|
||||
> For all I know, it comes from "0 Knock-outs" (from USA civil war times,
|
||||
> IIRC), i.e., all went really well.
|
||||
|
||||
See http://en.wikipedia.org/wiki/Okay#Etymology
|
||||
|
||||
"0 knock-outs" is among the "Improbable or refuted etymologies".
|
||||
|
||||
Juanma
|
||||
|
||||
|
|
@ -0,0 +1,98 @@
|
|||
Return-Path: <help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org>
|
||||
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on mindcrime
|
||||
X-Spam-Level:
|
||||
X-Spam-Status: No, score=-3.6 required=3.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW,
|
||||
SPF_PASS autolearn=ham version=3.2.5
|
||||
X-Original-To: xxxx@localhost
|
||||
Delivered-To: xxxx@localhost
|
||||
Received: from mindcrime (localhost [127.0.0.1])
|
||||
by mail.xxxxsoftware.nl (Postfix) with ESMTP id D68E769CB5
|
||||
for <xxxx@localhost>; Fri, 8 Aug 2008 20:56:25 +0300 (EEST)
|
||||
Delivered-To: xxxx.klub@gmail.com
|
||||
Received: from gmail-imap.l.google.com [72.14.221.111]
|
||||
by mindcrime with IMAP (fetchmail-6.3.8)
|
||||
for <xxxx@localhost> (single-drop); Fri, 08 Aug 2008 20:56:25 +0300 (EEST)
|
||||
Received: by 10.142.237.21 with SMTP id k21cs71287wfh; Fri, 8 Aug 2008
|
||||
07:40:46 -0700 (PDT)
|
||||
Received: by 10.100.122.8 with SMTP id u8mr3824321anc.77.1218206446062; Fri,
|
||||
08 Aug 2008 07:40:46 -0700 (PDT)
|
||||
Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) by mx.google.com
|
||||
with ESMTP id d35si2718351and.38.2008.08.08.07.40.45; Fri, 08 Aug 2008
|
||||
07:40:46 -0700 (PDT)
|
||||
Received-SPF: pass (google.com: domain of
|
||||
help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org designates 199.232.76.165
|
||||
as permitted sender) client-ip=199.232.76.165;
|
||||
Authentication-Results: mx.google.com; spf=pass (google.com: domain of
|
||||
help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org designates 199.232.76.165
|
||||
as permitted sender)
|
||||
smtp.mail=help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
|
||||
Received: from localhost ([127.0.0.1]:47349 helo=lists.gnu.org) by
|
||||
lists.gnu.org with esmtp (Exim 4.43) id 1KRT93-0006Po-A3 for
|
||||
xxxx.klub@gmail.com; Fri, 08 Aug 2008 10:40:45 -0400
|
||||
Path: news.stanford.edu!headwall.stanford.edu!newshub.sdsu.edu!news-out.readnews.com!news-xxxfer.readnews.com!panix!not-for-mail
|
||||
From: anon@example.com
|
||||
Newsgroups: gnu.emacs.help
|
||||
Date: Fri, 08 Aug 2008 10:07:30 -0400
|
||||
Organization: PANIX Public Access Internet and UNIX, NYC
|
||||
Message-ID: <uwsireh25.fsf@one.dot.net>
|
||||
References: <mailman.15123.1216681940.18990.help-gnu-emacs@gnu.org>
|
||||
<mailman.15143.1216715014.18990.help-gnu-emacs@gnu.org>
|
||||
<9bc17528-8ea9-49f7-8e9d-07f5ede91415@p31g2000prf.googlegroups.com>
|
||||
<200808062238.15634.juanma_bellon@yahoo.es>
|
||||
<mailman.15958.1218056266.18990.help-gnu-emacs@gnu.org>
|
||||
NNTP-Posting-Host: panix5.panix.com
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=us-ascii
|
||||
X-Trace: reader1.panix.com 1218204439 22850 166.84.1.5 (8 Aug 2008 14:07:19
|
||||
GMT)
|
||||
X-Complaints-To: abuse@panix.com
|
||||
NNTP-Posting-Date: Fri, 8 Aug 2008 14:07:19 +0000 (UTC)
|
||||
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (windows-nt)
|
||||
Cancel-Lock: sha1:Ckkp5oJPIMuAVgEHGnS/9MkZsEs=
|
||||
Xref: news.stanford.edu gnu.emacs.help:160963
|
||||
To: help-gnu-emacs@gnu.org
|
||||
Subject: Re: basic question: going back to dired
|
||||
X-BeenThere: help-gnu-emacs@gnu.org
|
||||
X-Mailman-Version: 2.1.5
|
||||
Precedence: list
|
||||
List-Id: Users list for the GNU Emacs text editor <help-gnu-emacs.gnu.org>
|
||||
List-Unsubscribe: <http://lists.gnu.org/mailman/listinfo/help-gnu-emacs>,
|
||||
<mailto:help-gnu-emacs-request@gnu.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.gnu.org/pipermail/help-gnu-emacs>
|
||||
List-Post: <mailto:help-gnu-emacs@gnu.org>
|
||||
List-Help: <mailto:help-gnu-emacs-request@gnu.org?subject=help>
|
||||
List-Subscribe: <http://lists.gnu.org/mailman/listinfo/help-gnu-emacs>,
|
||||
<mailto:help-gnu-emacs-request@gnu.org?subject=subscribe>
|
||||
Sender: help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
|
||||
Errors-To: help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
|
||||
Content-Length: 710
|
||||
Lines: 27
|
||||
|
||||
I seem to remember from my early school days it was a campaign slogan
|
||||
for someone nick-named Kinderhook that went something like
|
||||
|
||||
Old Kinderhook is OK
|
||||
|
||||
- Chris
|
||||
|
||||
"Juanma Barranquero" <lekktu@gmail.com> writes:
|
||||
|
||||
> On Wed, Aug 6, 2008 at 22:38, Juanma <juanma_bellon@yahoo.es> wrote:
|
||||
>
|
||||
>> For all I know, it comes from "0 Knock-outs" (from USA civil war times,
|
||||
>> IIRC), i.e., all went really well.
|
||||
>
|
||||
> See http://en.wikipedia.org/wiki/Okay#Etymology
|
||||
>
|
||||
> "0 knock-outs" is among the "Improbable or refuted etymologies".
|
||||
>
|
||||
> Juanma
|
||||
>
|
||||
>
|
||||
|
||||
--
|
||||
(. .)
|
||||
=ooO=(_)=Ooo=====================================
|
||||
Chris McMahan | first_initiallastname@one.dot.net
|
||||
=================================================
|
||||
|
|
@ -0,0 +1,209 @@
|
|||
Return-Path: <sqlite-dev-bounces@sqlite.org>
|
||||
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on mindcrime
|
||||
X-Spam-Level:
|
||||
X-Spam-Status: No, score=-1.2 required=3.0 tests=BAYES_00,HTML_MESSAGE,
|
||||
MIME_QP_LONG_LINE autolearn=no version=3.2.5
|
||||
X-Original-To: xxxx@localhost
|
||||
Delivered-To: xxxx@localhost
|
||||
Received: from mindcrime (localhost [127.0.0.1])
|
||||
by mail.xxxxsoftware.nl (Postfix) with ESMTP id 4E3CF6963B
|
||||
for <xxxx@localhost>; Mon, 4 Aug 2008 21:49:37 +0300 (EEST)
|
||||
Delivered-To: xxxx.klub@gmail.com
|
||||
Received: from gmail-imap.l.google.com [72.14.221.111]
|
||||
by mindcrime with IMAP (fetchmail-6.3.8)
|
||||
for <xxxx@localhost> (single-drop); Mon, 04 Aug 2008 21:49:37 +0300 (EEST)
|
||||
Received: by 10.142.51.12 with SMTP id y12cs94317wfy; Mon, 4 Aug 2008 05:48:28
|
||||
-0700 (PDT)
|
||||
Received: by 10.150.152.17 with SMTP id z17mr1245909ybd.194.1217854107583;
|
||||
Mon, 04 Aug 2008 05:48:27 -0700 (PDT)
|
||||
Received: from sqlite.org (sqlite.org [67.18.92.124]) by mx.google.com with
|
||||
ESMTP id 9si6334793yws.5.2008.08.04.05.47.57; Mon, 04 Aug 2008 05:48:27 -0700
|
||||
(PDT)
|
||||
Received-SPF: pass (google.com: best guess record for domain of
|
||||
sqlite-dev-bounces@sqlite.org designates 67.18.92.124 as permitted sender)
|
||||
client-ip=67.18.92.124;
|
||||
Authentication-Results: mx.google.com; spf=pass (google.com: best guess record
|
||||
for domain of sqlite-dev-bounces@sqlite.org designates 67.18.92.124 as
|
||||
permitted sender) smtp.mail=sqlite-dev-bounces@sqlite.org
|
||||
Received: from sqlite.org (localhost [127.0.0.1]) by sqlite.org (Postfix) with
|
||||
ESMTP id 4FBC111C6F; Mon, 4 Aug 2008 08:47:54 -0400 (EDT)
|
||||
X-Original-To: sqlite-dev@sqlite.org
|
||||
Delivered-To: sqlite-dev@sqlite.org
|
||||
Received: from cpsmtpo-eml02.kpnxchange.com (cpsmtpo-eml02.kpnxchange.com
|
||||
[213.75.38.151]) by sqlite.org (Postfix) with ESMTP id AA4F111C10 for
|
||||
<sqlite-dev@sqlite.org>; Mon, 4 Aug 2008 08:47:51 -0400 (EDT)
|
||||
Received: from hpsmtp-eml21.kpnxchange.com ([213.75.38.121]) by
|
||||
cpsmtpo-eml02.kpnxchange.com with Microsoft SMTPSVC(6.0.3790.1830); Mon, 4
|
||||
Aug 2008 14:47:50 +0200
|
||||
Received: from cpbrm-eml13.kpnsp.local ([195.121.247.250]) by
|
||||
hpsmtp-eml21.kpnxchange.com with Microsoft SMTPSVC(6.0.3790.1830); Mon, 4
|
||||
Aug 2008 14:47:50 +0200
|
||||
Received: from hpsmtp-eml30.kpnxchange.com ([10.94.53.250]) by
|
||||
cpbrm-eml13.kpnsp.local with Microsoft SMTPSVC(6.0.3790.1830); Mon, 4 Aug
|
||||
2008 14:47:50 +0200
|
||||
Received: from localhost ([10.94.53.250]) by hpsmtp-eml30.kpnxchange.com with
|
||||
Microsoft SMTPSVC(6.0.3790.1830); Mon, 4 Aug 2008 14:47:49 +0200
|
||||
Content-class: urn:content-classes:message
|
||||
MIME-Version: 1.0
|
||||
X-MimeOLE: Produced By Microsoft Exchange V6.5
|
||||
Date: Mon, 4 Aug 2008 14:46:06 +0200
|
||||
Message-ID: <F687EC042917A94E8BB4B0902946453AE17D6C@CPEXBE-EML18.kpnsp.local>
|
||||
X-MS-Has-Attach:
|
||||
X-MS-TNEF-Correlator:
|
||||
Thread-Topic: [sqlite-dev] VM optimization inside sqlite3VdbeExec
|
||||
Thread-Index: Acj2FjkWvteFtLHTTYeVz4ES7E2ggAAGRxeI
|
||||
References: <83B5AF40-DBFA-4578-A043-04C80276E195@sqlabs.net>
|
||||
From: anon@example.com
|
||||
To: <sqlite-dev@sqlite.org>
|
||||
X-OriginalArrivalTime: 04 Aug 2008 12:47:49.0650 (UTC)
|
||||
FILETIME=[4D577720:01C8F630]
|
||||
Subject: Re: [sqlite-dev] VM optimization inside sqlite3VdbeExec
|
||||
X-BeenThere: sqlite-dev@sqlite.org
|
||||
X-Mailman-Version: 2.1.9
|
||||
Precedence: list
|
||||
Reply-To: sqlite-dev@sqlite.org
|
||||
List-Id: <sqlite-dev.sqlite.org>
|
||||
List-Unsubscribe: <http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev>,
|
||||
<mailto:sqlite-dev-request@sqlite.org?subject=unsubscribe>
|
||||
List-Archive: <http://sqlite.org:8080/cgi-bin/mailman/private/sqlite-dev>
|
||||
List-Post: <mailto:sqlite-dev@sqlite.org>
|
||||
List-Help: <mailto:sqlite-dev-request@sqlite.org?subject=help>
|
||||
List-Subscribe: <http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev>,
|
||||
<mailto:sqlite-dev-request@sqlite.org?subject=subscribe>
|
||||
Content-Type: multipart/mixed; boundary="===============1911358387=="
|
||||
Mime-version: 1.0
|
||||
Sender: sqlite-dev-bounces@sqlite.org
|
||||
Errors-To: sqlite-dev-bounces@sqlite.org
|
||||
Content-Length: 5318
|
||||
|
||||
This is a multi-part message in MIME format.
|
||||
|
||||
--===============1911358387==
|
||||
Content-class: urn:content-classes:message
|
||||
Content-Type: multipart/alternative;
|
||||
boundary="----_=_NextPart_001_01C8F630.0FC2EC1E"
|
||||
|
||||
This is a multi-part message in MIME format.
|
||||
|
||||
------_=_NextPart_001_01C8F630.0FC2EC1E
|
||||
Content-Type: text/plain;
|
||||
charset="iso-8859-1"
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
|
||||
Actually, almost every C compiler will already do what you suggest: if =
|
||||
the range of case labels is compact, the switch will be compiled using a =
|
||||
jump table. Only if the range is limited and/or sparse other techniques =
|
||||
will be used, such as linear search and binary search.
|
||||
=20
|
||||
I'm pretty sure, if you perform the tests suggested by Mihai, that you =
|
||||
will find zero performance difference, neither better, nor worse.
|
||||
=20
|
||||
Paul
|
||||
=20
|
||||
________________________________
|
||||
|
||||
From: anon@example.com
|
||||
Sent: Mon 8/4/2008 11:40 AM
|
||||
To: sqlite-dev@sqlite.org
|
||||
Subject: [sqlite-dev] VM optimization inside sqlite3VdbeExec
|
||||
|
||||
|
||||
|
||||
Inside sqlite3VdbeExec there is a very big switch statement.
|
||||
In order to increase performance with few modifications to the=20
|
||||
original code, why not use this technique ?
|
||||
http://docs.freebsd.org/info/gcc/gcc.info.Labels_as_Values.html =
|
||||
<http://docs.freebsd.org/info/gcc/gcc.info.Labels_as_Values.html>=20
|
||||
|
||||
With a properly defined "instructions" array, instead of the switch=20
|
||||
statement you can use something like:
|
||||
goto * instructions[pOp->opcode];
|
||||
---
|
||||
Marco Bambini
|
||||
http://www.sqlabs.net <http://www.sqlabs.net/>=20
|
||||
http://www.sqlabs.net/blog/ <http://www.sqlabs.net/blog/>=20
|
||||
http://www.sqlabs.net/realsqlserver/ =
|
||||
<http://www.sqlabs.net/realsqlserver/>=20
|
||||
|
||||
|
||||
|
||||
_______________________________________________
|
||||
sqlite-dev mailing list
|
||||
sqlite-dev@sqlite.org
|
||||
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev =
|
||||
<http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev>=20
|
||||
|
||||
|
||||
|
||||
------_=_NextPart_001_01C8F630.0FC2EC1E
|
||||
Content-Type: text/html;
|
||||
charset="iso-8859-1"
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
|
||||
<HTML dir=3Dltr><HEAD><TITLE>[sqlite-dev] VM optimization inside =
|
||||
sqlite3VdbeExec</TITLE>=0A=
|
||||
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dunicode">=0A=
|
||||
<META content=3D"MSHTML 6.00.2715.400" name=3DGENERATOR></HEAD>=0A=
|
||||
<BODY>=0A=
|
||||
<DIV id=3DidOWAReplyText54900 dir=3Dltr>=0A=
|
||||
<DIV dir=3Dltr><FONT face=3DArial color=3D#000000 size=3D2>Actually, =
|
||||
almost every C compiler will already do what you suggest: if the range =
|
||||
of case labels is compact, the switch will be compiled using a jump =
|
||||
table. Only if the range is limited and/or sparse other techniques will =
|
||||
be used, such as linear search and binary search.</FONT></DIV>=0A=
|
||||
<DIV dir=3Dltr><FONT face=3DArial size=3D2></FONT> </DIV>=0A=
|
||||
<DIV dir=3Dltr><FONT face=3DArial size=3D2>I'm pretty sure, if you =
|
||||
perform the tests suggested by Mihai, that you will find zero =
|
||||
performance difference, neither better, nor worse.</FONT></DIV>=0A=
|
||||
<DIV dir=3Dltr><FONT face=3DArial size=3D2></FONT> </DIV>=0A=
|
||||
<DIV dir=3Dltr><FONT face=3DArial size=3D2>Paul</FONT></DIV>=0A=
|
||||
<DIV dir=3Dltr><FONT face=3DArial size=3D2></FONT> </DIV>=0A=
|
||||
<DIV dir=3Dltr><FONT face=3DArial size=3D2>=0A=
|
||||
<HR tabIndex=3D-1>=0A=
|
||||
</FONT></DIV>=0A=
|
||||
<DIV dir=3Dltr><FONT face=3DArial><FONT size=3D2><B>From:</B> =
|
||||
sqlite-dev-bounces@sqlite.org on behalf of Marco Bambini<BR><B>Sent:</B> =
|
||||
Mon 8/4/2008 11:40 AM<BR><B>To:</B> =
|
||||
sqlite-dev@sqlite.org<BR><B>Subject:</B> [sqlite-dev] VM optimization =
|
||||
inside sqlite3VdbeExec<BR><BR></FONT></FONT></DIV></DIV>=0A=
|
||||
<DIV>=0A=
|
||||
<P><FONT face=3DArial size=3D2>Inside sqlite3VdbeExec there is a very =
|
||||
big switch statement.<BR>In order to increase performance with few =
|
||||
modifications to the <BR>original code, why not use this technique =
|
||||
?<BR></FONT><A =
|
||||
href=3D"http://docs.freebsd.org/info/gcc/gcc.info.Labels_as_Values.html">=
|
||||
<FONT face=3DArial =
|
||||
size=3D2>http://docs.freebsd.org/info/gcc/gcc.info.Labels_as_Values.html<=
|
||||
/FONT></A><BR><BR><FONT face=3DArial size=3D2>With a properly defined =
|
||||
"instructions" array, instead of the switch <BR>statement you can =
|
||||
use something like:<BR>goto * =
|
||||
instructions[pOp->opcode];<BR>---<BR>Marco Bambini<BR></FONT><A =
|
||||
href=3D"http://www.sqlabs.net/"><FONT face=3DArial =
|
||||
size=3D2>http://www.sqlabs.net</FONT></A><BR><A =
|
||||
href=3D"http://www.sqlabs.net/blog/"><FONT face=3DArial =
|
||||
size=3D2>http://www.sqlabs.net/blog/</FONT></A><BR><A =
|
||||
href=3D"http://www.sqlabs.net/realsqlserver/"><FONT face=3DArial =
|
||||
size=3D2>http://www.sqlabs.net/realsqlserver/</FONT></A><BR><BR><BR><BR><=
|
||||
FONT face=3DArial =
|
||||
size=3D2>_______________________________________________<BR>sqlite-dev =
|
||||
mailing list<BR>sqlite-dev@sqlite.org<BR></FONT><A =
|
||||
href=3D"http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev"><FONT=
|
||||
face=3DArial =
|
||||
size=3D2>http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev</FONT=
|
||||
></A><BR></P></DIV></BODY></HTML>
|
||||
------_=_NextPart_001_01C8F630.0FC2EC1E--
|
||||
|
||||
|
||||
--===============1911358387==
|
||||
Content-Type: text/plain; charset="us-ascii"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
Content-Disposition: inline
|
||||
|
||||
_______________________________________________
|
||||
sqlite-dev mailing list
|
||||
sqlite-dev@sqlite.org
|
||||
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev
|
||||
|
||||
--===============1911358387==--
|
||||
|
Loading…
Reference in New Issue