Mercurial > emacs
annotate src/syssignal.h @ 98644:e1cc41b9282d
2008-10-12 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-edit-fixed-width-region): Exclude final newline from
picture area.
* org-export-latex.el (org-export-latex-subcontent): Add labels to
sections, to make internal links work.
(org-export-latex-fontify-headline): Do not remove all text
properties, to make sure that target properties survive this
process.
* org-exp.el (org-export-preprocess-string): Change sequence of
modifications, to make sure links are prepared before the LaTeX
conversions do happen.
* org-attach.el (org-attach-delete-all): Renamed from
`org-attch-delete'. Add a security query before deleting the
entire directory. New optional argument FORCE can overrule the
security query.
(org-attach-delete-one): New command.
* org-attach.el (org-attach-file-list): Fix bug with directory.
* org.el (org-apps-regexp-alist): New function.
(org-file-apps): Add auto-mode to the default value.
(org-open-file): Use the new structure of org-file-apps.
* org-attach.el (org-attach): Support the new keys.
(org-attach-method): New option.
* org-bbdb.el (org-bbdb-anniversaries): Fix but with 29 Feb/1
March.
* org.el (org-remove-uniherited-tags): Fix reverse interpretation
of the list value o `org-use-tag-inheritance'.
* org-attach.el (org-attach-auto-tag): New option.
(org-attach-tag, org-attach-untag): New functions.
(org-attach-attach, org-attach-new, org-attach-sync): Call
`org-attach-tag'.
(org-attach-delete): Call `org-attach-untag'.
* org-attach.el: New file.
* org-table.el (orgtbl-self-insert-command): Make this work for
the keypad as well.
* org.el (org-add-log-setup): Limit searc for drawers to entry
text, not to subtree.
* org-clock.el (org-clock-heading-for-remember): New variable.
(org-clock-in): Set `org-clock-heading-for-remember'.
2008-10-12 James TD Smith <ahktenzero@mohorovi.cc>
* org-remember.el (org-remember-apply-template): Add new
expansions: %k, %K for currently clocked task and a link to the
currently clocked task, and %< to file notes in the currently
clocked task.
2008-10-12 Carsten Dominik <dominik@science.uva.nl>
* org-export-latex.el (org-export-latex-make-header): Also insert
the content of the property :latex-header-extra.
* org-exp.el (org-infile-export-plist): Put the content of
#+LATEX_HEADER: into the property :latex-header-extra.
* org-colview.el (org-columns-get-format-and-top-level): Remove
resetting the marker.
* org-colview-xemacs.el (org-columns-get-format-and-top-level):
Remove resetting the marker.
* org.el (org-entry-property-inherited-from): Improve docstring.
(org-entry-get-with-inheritance): Reset marker before starting the
search.
* org-exp.el (org-infile-export-plist): Allow multiple STYLE lines.
* org.el (org-entry-get-multivalued-property)
(org-entry-protect-space, org-entry-restore-space): New
functions.
(org-file-apps-defaults-macosx): Let postscript files be opened by
preview.
(org-time-stamp-inactive): Call `org-time-stamp'.
(org-time-stamp): New argument `inactive'. Also edit inacive
stamps. Convert time stamp type.
(org-open-file): Interpret the `default' value for the `command'
in `org-file-apps'.
* org-id.el (org-id-int-to-b36-one-digit)
(org-id-b36-to-int-one-digit, org-id-int-to-b36)
(org-id-b36-to-int, org-id-time-to-b36): Modified from b62 to
b36.
* org-id.el (org-id-reverse-string): New function.
(org-id-new): Use `org-id-reverse-string' to make sure the
beginning chars of the ID are mutating fast. This allows to use a
directory structure to spread things better.
(org-id-prefix): Changed default to nil.
* org-list.el (org-move-item-down, org-move-item-up): Remember and
restore the column of the cursor position.
* org-remember.el (org-remember-apply-template): Remove properties
from `initial'.
* org-wl.el (org-wl-open): Remove useless call to
`wl-thread-open-all'.
* org-remember.el (org-remember-handler): Fix bug with `bottom'
location.
* org-bbdb.el (org-bbdb-anniversaries): Require bbdb in
`org-bbdb-anniversaries'.
* org.el (org-get-next-sibling, org-forward-same-level): New
functions, similar to the outline versions, but invisible headings
are OK.
2008-10-12 Bastien Guerry <bzg@altern.org>
* org.el (org-auto-repeat-maybe): Insert a space between
the timestamp's type and the timestamp itself.
2008-10-12 Carsten Dominik <dominik@science.uva.nl>
* org-table.el (org-table-sum): Do not format the result with %g,
it does rounding when there are too many digits.
* org.el (org-map-entries): Protect the keyword-selecting variables.
2008-10-12 Bastien Guerry <bzg@altern.org>
* org-agenda.el (org-agenda-to-appt): Make sure the function check
against all agenda files.
2008-10-12 Carsten Dominik <dominik@science.uva.nl>
* org-list.el: New file, aggregating list functions from org.el
and org-export-latex.el.
* org.el (org-edit-src-region-extra): New option.
* org-agenda.el (org-agenda-to-appt): Fix bug with appointment
time before 1am.
2008-10-12 Bastien Guerry <bzg@altern.org>
* org-export-latex.el (org-export-latex-keywords-maybe): Bug fix.
2008-10-12 James TA Smith <ahktenzero@mohorovi.cc>
* org-plot.el (org-plot/gnuplot): Make tables starting with a
hline work correctly.
(org-plot/gnuplot-script): Put commas at the end of each script
line.
* org.el (org-get-refile-targets): Replace links with their
descriptions
(org-imenu-get-tree): Replace links with their descriptions.
* org-remember.el (org-remember-apply-template): Add a new
expansion for adding properties to remember items.
* org.el (org-add-log-setup): Skip over drawers (properties,
clocks etc) when adding notes.
* org-agenda.el (org-agenda-get-closed): show durations of clocked
items as well as the start and end times.
* org-compat.el (org-get-x-clipboard-compat): Add a compat
function for fetching the X clipboard on XEmacs and GNU Emacs 21.
* org-remember.el (org-get-x-clipboard): Use the compat
function to get clipboard values when x-selection-value is
unavailable. Use substring-no-properties instead of
set-text-properties to remove text properties from the clipboard
value.
* lisp/org-clock.el (org-update-mode-line): Support limiting the
modeline clock string, and display the full todo value in the
tooltip. Set a local keymap so mouse-3 on the clock string goes to
the currently clocked task.
(org-clock-string-limit): Add a custom value for the maximum
length of the clock string in the modeline.
(org-clock-mode-map): Add a keymap for the modeline string
2008-10-12 Carsten Dominik <dominik@science.uva.nl>
* org-compat.el (org-propertize): New function.
2008-10-12 Bastien Guerry <bzg@altern.org>
* org-export-latex.el (org-export-latex-tables): protect exported
tables from further special chars conversion.
(org-export-latex-preprocess): Preserve LaTeX environments.
(org-list-parse-list): Parse descriptive lists.
(org-list-to-generic, org-list-to-latex, org-list-to-html)
(org-list-to-texinfo): Export descriptive lists.
(org-quote-chars): Remove.
(org-export-latex-keywords-maybe): Use `replace-regexp-in-string'.
(org-export-latex-list-beginning-re): Rename to
`org-list-beginning-re'
(org-list-item-begin): Rename to `org-list-item-beginning'
2008-10-12 Carsten Dominik <dominik@science.uva.nl>
* org.el (org-refile): Allow refiling to the last entry in the
buffer.
(org-get-tags-at): Fix bug when inheritance is turned off.
* org.el (org-indent-line-function): No longer check for src
regions, this is too much overhead.
* org-agenda.el (org-agenda-highlight-todo): Fix bugs with keyword
matching.
* org.el (org-scan-tags): Make sure that tags matching is not case
sensitive. TODO keyword matching is case sensitive, however, to
avoid confusion with similar words that are not meant to be
keywords.
* org.el (org-get-local-tags-at): New function.
(org-get-local-tags): New function.
* org-exp.el (org-export-get-categories): New function.
* org-agenda.el (org-sorting-choice)
(org-agenda-sorting-strategy, org-agenda-get-todos)
(org-agenda-get-timestamps, org-agenda-get-deadlines)
(org-agenda-get-scheduled, org-agenda-get-blocks)
(org-entries-lessp): Implement sorting by TODO state.
(org-cmp-todo-state): New defsubst.
* org-colview.el (org-colview-construct-allowed-dates): New
function.
(org-columns-next-allowed-value): Use
`org-colview-construct-allowed-dates'.
* org-colview-xemacs.el (org-colview-construct-allowed-dates): New
function.
(org-columns-next-allowed-value): Use
`org-colview-construct-allowed-dates'.
* org.el (org-protect-slash): New function.
(org-get-refile-targets): Use `org-protect-slash'.
* org-agenda.el (org-global-tags-completion-table): New variable.
* org-exp.el (org-export-handle-export-tags): New function.
(org-export-preprocess-string): Call
`org-export-handle-export-tags'.
* org-plot.el: New file.
* org-publish.el (org-publish-expand-components): Function removed.
(org-publish-expand-projects): Allow components to have components.
* org.el (org-indent-line-function): Do not indent in regions that
are external source code.
(org-yank-and-fold-if-subtree): New function.
* org-agenda.el (org-agenda-todayp): New function.
(org-agenda-get-deadlines, org-agenda-get-scheduled): Use
`org-agenda-todayp'.
* org.el (org-insert-heading-respect-content)
(org-insert-todo-heading-respect-content): New commands.
(org-insert-heading-respect-content): New option.
(org-insert-heading): Respect `org-insert-heading-respect-content'.
* org-clock.el (org-clock-find-position): Make sure the note after
the clock line gets moved into the new clock drawer.
* org-id.el (org-id-new): New option.
* org-table.el (org-table-copy-down): Avoid overflow during
increment. Use prefix argument 0 to temporarily disable the
increment.
* org-exp.el (org-export-as-html): Do not turn on the major mode
if the buffer will be killed anyway.
(org-get-current-options): Exclude the #+TEXT field.
(org-export-as-html): Make sure text before the first headline is
a paragraph.
* org-publish.el (org-publish-org-to): Tell the exporter that this
buffer will be killed, so it is not necessary to do major mode
initialization.
* org-archive.el (org-archive-to-archive-sibling): Show empty
lines after folding the archive sibling.
* org.el (org-log-note-extra): New variable.
2008-10-12 Bastien Guerry <bzg@altern.org>
* org.el (org-additional-option-like-keywords): Added keywords for
the _QUOTE, _VERSE and _SRC environments.
* org-export-latex.el (org-export-latex-preprocess): Fix bug when
exporting _QUOTE and _VERSE environments.
2008-10-12 Carsten Dominik <dominik@science.uva.nl>
* org-agenda.el (org-agenda-filter-by-tag): New command.
* org-exp.el (org-get-current-options): Remove angular brackets
from the date entry.
* org.el (org-edit-fixed-width-region): New function.
(org-edit-fixed-width-region): Also try
`org-edit-fixed-width-region'.
(org-edit-fixed-width-region-mode): New option.
(org-activate-code): Only interprete lines starting with colon
plus a space as example lines.
* org-remember.el (org-remember-templates): Add nil instead of
empty strings to fix the length of remember templates.
* org-table.el (org-calc-default-modes): Fix the time format for
calc, from 12 hour to 24 hour clock.
* org-agenda.el (org-agenda-get-deadlines)
(org-agenda-get-scheduled): Avoid `time-of-day' extraction for
entries that are pre-warnings of deadlines or reminders.
* org.el (org-sort-entries-or-items): Make numeric and alpha
comparisons ignore any TODO keyword and priority cookie.
* org-remember.el (org-remember-handler): Reinterpretation of the
prefix argument.
* org-agenda.el (org-agenda-get-scheduled): Use new
`org-scheduled' face.
* org-faces.el (org-scheduled): New face.
* org-wl.el (org-wl-open): Remove incorrect declaration.
* org-gnus.el (org-gnus-store-link): Support for :to information
in gnus links.
* org-exp.el (org-export-as-html): Fixed typo in creator
information.
(org-export-protect-examples): New parameter indent. Insert extra
spaces only when this parameter is specified.
(org-export-preprocess-string): Call `org-export-protect-examples'
with an indentation parameter when exporting to ASCII.
* org-remember.el (org-remember-templates)
(org-remember-apply-template): Allow the file component to be a
function.
* org.el (org-goto-local-search-headings): Renamed from
`org-goto-local-search-forward-headings'. Added the possibility
to search backwards.
* org-export-latex.el (org-export-latex): New customization
group.
* org-agenda.el (org-write-agenda): Erase buffer for txt export.
* org-exp.el (org-html-do-expand): Allow {} to terminate
tex macro
* org.el (org-buffer-list): Select buffers based on major mode,
not on file name.
* org-agenda.el (org-agenda-align-tags): Fix bug with malformed
face property.
* org-colview.el (org-columns-display-here): Use
`org-columns-modify-value-for-display-function'.
* org-colview-xemacs.el (org-columns-display-here): Use
`org-columns-modify-value-for-display-function'.
* org.el (org-columns-modify-value-for-display-function): New option.
* org-publish.el (org-publish-file): Make sure the directory match
for the publishing directory works correctly.
* org-agenda.el (org-agenda-execute-calendar-command)
(org-agenda-diary-entry): Additional optional argument.
author | Carsten Dominik <dominik@science.uva.nl> |
---|---|
date | Sun, 12 Oct 2008 06:12:44 +0000 |
parents | 248808aeee3e |
children | e038c1a8307c |
rev | line source |
---|---|
563 | 1 /* syssignal.h - System-dependent definitions for signals. |
75227
e90d04cd455a
Update copyright for years from Emacs 21 to present (mainly adding
Glenn Morris <rgm@gnu.org>
parents:
68651
diff
changeset
|
2 Copyright (C) 1993, 1999, 2001, 2002, 2003, 2004, |
79759 | 3 2005, 2006, 2007, 2008 Free Software Foundation, Inc. |
563 | 4 |
5 This file is part of GNU Emacs. | |
6 | |
94994
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94959
diff
changeset
|
7 GNU Emacs is free software: you can redistribute it and/or modify |
563 | 8 it under the terms of the GNU General Public License as published by |
94994
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94959
diff
changeset
|
9 the Free Software Foundation, either version 3 of the License, or |
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94959
diff
changeset
|
10 (at your option) any later version. |
563 | 11 |
12 GNU Emacs is distributed in the hope that it will be useful, | |
13 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 GNU General Public License for more details. | |
16 | |
17 You should have received a copy of the GNU General Public License | |
94994
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94959
diff
changeset
|
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
563 | 19 |
55308
c208f88ccc56
(init_signals): Move decl outside `#ifdef POSIX_SIGNALS'.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
52401
diff
changeset
|
20 extern void init_signals P_ ((void)); |
c208f88ccc56
(init_signals): Move decl outside `#ifdef POSIX_SIGNALS'.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
52401
diff
changeset
|
21 |
97267
248808aeee3e
fix popup menu selection return (menu.c); add use of popup_activated under NS (nsmenu.m, xdisp.c); improve comments (lisp.h, s/darwin.h); use FORWARD_SIGNAL_TO_MAIN_THREAD (syssignal.h)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
97142
diff
changeset
|
22 #if defined (HAVE_GTK_AND_PTHREAD) || defined (HAVE_NS) |
58986
59945307b86b
* syssignal.h: Declare main_thread.
Jan Djärv <jan.h.d@swipnet.se>
parents:
55308
diff
changeset
|
23 #include <pthread.h> |
80572
32bd922619ad
(FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
24 /* If defined, asynchronous signals delivered to a non-main thread are |
32bd922619ad
(FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
25 forwarded to the main thread. */ |
32bd922619ad
(FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
26 #define FORWARD_SIGNAL_TO_MAIN_THREAD |
32bd922619ad
(FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
27 #endif |
32bd922619ad
(FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
28 |
32bd922619ad
(FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
29 #ifdef FORWARD_SIGNAL_TO_MAIN_THREAD |
58986
59945307b86b
* syssignal.h: Declare main_thread.
Jan Djärv <jan.h.d@swipnet.se>
parents:
55308
diff
changeset
|
30 extern pthread_t main_thread; |
59945307b86b
* syssignal.h: Declare main_thread.
Jan Djärv <jan.h.d@swipnet.se>
parents:
55308
diff
changeset
|
31 #endif |
59945307b86b
* syssignal.h: Declare main_thread.
Jan Djärv <jan.h.d@swipnet.se>
parents:
55308
diff
changeset
|
32 |
563 | 33 #ifdef POSIX_SIGNALS |
2913
409c1022bad5
Some changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents:
2122
diff
changeset
|
34 |
10135 | 35 /* Don't #include <signal.h>. That header should always be #included |
3003
5a73d384f45e
* syssignal.h: Don't #include <signal.h>
Jim Blandy <jimb@redhat.com>
parents:
2961
diff
changeset
|
36 before "config.h", because some configuration files (like s/hpux.h) |
5a73d384f45e
* syssignal.h: Don't #include <signal.h>
Jim Blandy <jimb@redhat.com>
parents:
2961
diff
changeset
|
37 indicate that SIGIO doesn't work by #undef-ing SIGIO. If this file |
5a73d384f45e
* syssignal.h: Don't #include <signal.h>
Jim Blandy <jimb@redhat.com>
parents:
2961
diff
changeset
|
38 #includes <signal.h>, then that will re-#define SIGIO and confuse |
5a73d384f45e
* syssignal.h: Don't #include <signal.h>
Jim Blandy <jimb@redhat.com>
parents:
2961
diff
changeset
|
39 things. */ |
82995
039bd6989d29
Portability fixes (now it compiles & runs fine on Solaris).
Karoly Lorentey <lorentey@elte.hu>
parents:
52401
diff
changeset
|
40 /* XXX This is not correct anymore, there is a BROKEN_SIGIO macro. */ |
2913
409c1022bad5
Some changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents:
2122
diff
changeset
|
41 |
563 | 42 #define SIGMASKTYPE sigset_t |
43 | |
44 #define SIGEMPTYMASK (empty_mask) | |
45 #define SIGFULLMASK (full_mask) | |
20949
292cd2a2d600
(sigmask) [POSIX_SIGNALS]: Always define our own
Andreas Schwab <schwab@suse.de>
parents:
18668
diff
changeset
|
46 extern sigset_t empty_mask, full_mask; |
563 | 47 |
637 | 48 /* POSIX pretty much destroys any possibility of writing sigmask as a |
20949
292cd2a2d600
(sigmask) [POSIX_SIGNALS]: Always define our own
Andreas Schwab <schwab@suse.de>
parents:
18668
diff
changeset
|
49 macro in standard C. We always define our own version because the |
292cd2a2d600
(sigmask) [POSIX_SIGNALS]: Always define our own
Andreas Schwab <schwab@suse.de>
parents:
18668
diff
changeset
|
50 predefined macro in Glibc 2.1 is only provided for compatility for old |
292cd2a2d600
(sigmask) [POSIX_SIGNALS]: Always define our own
Andreas Schwab <schwab@suse.de>
parents:
18668
diff
changeset
|
51 programs that use int as signal mask type. */ |
292cd2a2d600
(sigmask) [POSIX_SIGNALS]: Always define our own
Andreas Schwab <schwab@suse.de>
parents:
18668
diff
changeset
|
52 #undef sigmask |
637 | 53 #ifdef __GNUC__ |
54 #define sigmask(SIG) \ | |
55 ({ \ | |
56 sigset_t _mask; \ | |
57 sigemptyset (&_mask); \ | |
58 sigaddset (&_mask, SIG); \ | |
59 _mask; \ | |
60 }) | |
2122
f3c105f296b2
* syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents:
637
diff
changeset
|
61 #else /* ! defined (__GNUC__) */ |
3485
c2dbfca5e1de
[POSIX] [!__GNUC__] (sys_sigmask): Add declaration.
Richard M. Stallman <rms@gnu.org>
parents:
3008
diff
changeset
|
62 extern sigset_t sys_sigmask (); |
637 | 63 #define sigmask(SIG) (sys_sigmask (SIG)) |
2122
f3c105f296b2
* syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents:
637
diff
changeset
|
64 #endif /* ! defined (__GNUC__) */ |
624 | 65 |
20949
292cd2a2d600
(sigmask) [POSIX_SIGNALS]: Always define our own
Andreas Schwab <schwab@suse.de>
parents:
18668
diff
changeset
|
66 #undef sigpause |
292cd2a2d600
(sigmask) [POSIX_SIGNALS]: Always define our own
Andreas Schwab <schwab@suse.de>
parents:
18668
diff
changeset
|
67 #define sigpause(MASK) sigsuspend (&(MASK)) |
18668
c91e58230454
[sigmask] (SIGEMPTYMASK): Define to use sigmask.
Richard M. Stallman <rms@gnu.org>
parents:
18564
diff
changeset
|
68 |
7903
40bb379c9550
(sigblock) [USG5_4]: Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents:
3485
diff
changeset
|
69 #define sigblock(SIG) sys_sigblock (SIG) |
40bb379c9550
(sigblock) [USG5_4]: Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents:
3485
diff
changeset
|
70 #define sigunblock(SIG) sys_sigunblock (SIG) |
14487
7b7cb366646c
[POSIX_SIGNALS] (sigsetmask): Don't define if already defined.
Richard M. Stallman <rms@gnu.org>
parents:
14261
diff
changeset
|
71 #ifndef sigsetmask |
7903
40bb379c9550
(sigblock) [USG5_4]: Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents:
3485
diff
changeset
|
72 #define sigsetmask(SIG) sys_sigsetmask (SIG) |
14487
7b7cb366646c
[POSIX_SIGNALS] (sigsetmask): Don't define if already defined.
Richard M. Stallman <rms@gnu.org>
parents:
14261
diff
changeset
|
73 #endif |
563 | 74 #define sighold(SIG) ONLY_USED_IN_BSD_4_1 |
75 #define sigrelse(SIG) ONLY_USED_IN_BSD_4_1 | |
13332
b5f6bf37ffc5
[POSIX_SIGNALS] (signal): Undef before defining.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
76 #undef signal |
8361
2ea2644e07fb
[POSIX_SIGNALS] (signal): New definition.
Richard M. Stallman <rms@gnu.org>
parents:
7929
diff
changeset
|
77 #define signal(SIG,ACT) sys_signal(SIG,ACT) |
563 | 78 |
2913
409c1022bad5
Some changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents:
2122
diff
changeset
|
79 /* Whether this is what all systems want or not, this is what |
7903
40bb379c9550
(sigblock) [USG5_4]: Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents:
3485
diff
changeset
|
80 appears to be assumed in the source, for example data.c:arith_error. */ |
10536 | 81 typedef RETSIGTYPE (*signal_handler_t) (/*int*/); |
2913
409c1022bad5
Some changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents:
2122
diff
changeset
|
82 |
21932
def858fcfe9a
Declare init_signals and add prototypes.
Andreas Schwab <schwab@suse.de>
parents:
21010
diff
changeset
|
83 signal_handler_t sys_signal P_ ((int signal_number, signal_handler_t action)); |
def858fcfe9a
Declare init_signals and add prototypes.
Andreas Schwab <schwab@suse.de>
parents:
21010
diff
changeset
|
84 sigset_t sys_sigblock P_ ((sigset_t new_mask)); |
def858fcfe9a
Declare init_signals and add prototypes.
Andreas Schwab <schwab@suse.de>
parents:
21010
diff
changeset
|
85 sigset_t sys_sigunblock P_ ((sigset_t new_mask)); |
def858fcfe9a
Declare init_signals and add prototypes.
Andreas Schwab <schwab@suse.de>
parents:
21010
diff
changeset
|
86 sigset_t sys_sigsetmask P_ ((sigset_t new_mask)); |
563 | 87 |
7903
40bb379c9550
(sigblock) [USG5_4]: Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents:
3485
diff
changeset
|
88 #define sys_sigdel(MASK,SIG) sigdelset (&MASK,SIG) |
563 | 89 |
2122
f3c105f296b2
* syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents:
637
diff
changeset
|
90 #else /* ! defined (POSIX_SIGNALS) */ |
f3c105f296b2
* syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents:
637
diff
changeset
|
91 #ifdef USG5_4 |
f3c105f296b2
* syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents:
637
diff
changeset
|
92 |
29811
f3db799f7b1e
(sigblock, sigunblock) [USG5_4]: Set
Gerd Moellmann <gerd@gnu.org>
parents:
26088
diff
changeset
|
93 extern SIGMASKTYPE sigprocmask_set; |
f3db799f7b1e
(sigblock, sigunblock) [USG5_4]: Set
Gerd Moellmann <gerd@gnu.org>
parents:
26088
diff
changeset
|
94 |
7903
40bb379c9550
(sigblock) [USG5_4]: Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents:
3485
diff
changeset
|
95 #ifndef sigblock |
29811
f3db799f7b1e
(sigblock, sigunblock) [USG5_4]: Set
Gerd Moellmann <gerd@gnu.org>
parents:
26088
diff
changeset
|
96 #define sigblock(sig) \ |
f3db799f7b1e
(sigblock, sigunblock) [USG5_4]: Set
Gerd Moellmann <gerd@gnu.org>
parents:
26088
diff
changeset
|
97 (sigprocmask_set = SIGEMPTYMASK | (sig), \ |
f3db799f7b1e
(sigblock, sigunblock) [USG5_4]: Set
Gerd Moellmann <gerd@gnu.org>
parents:
26088
diff
changeset
|
98 sigprocmask (SIG_BLOCK, &sigprocmask_set, NULL)) |
7903
40bb379c9550
(sigblock) [USG5_4]: Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents:
3485
diff
changeset
|
99 #endif |
40bb379c9550
(sigblock) [USG5_4]: Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents:
3485
diff
changeset
|
100 |
40677
31330b54d542
(sigunblock): Don't define if already defined.
Eli Zaretskii <eliz@gnu.org>
parents:
33408
diff
changeset
|
101 #ifndef sigunblock |
29811
f3db799f7b1e
(sigblock, sigunblock) [USG5_4]: Set
Gerd Moellmann <gerd@gnu.org>
parents:
26088
diff
changeset
|
102 #define sigunblock(sig) \ |
f3db799f7b1e
(sigblock, sigunblock) [USG5_4]: Set
Gerd Moellmann <gerd@gnu.org>
parents:
26088
diff
changeset
|
103 (sigprocmask_set = SIGFULLMASK & ~(sig), \ |
f3db799f7b1e
(sigblock, sigunblock) [USG5_4]: Set
Gerd Moellmann <gerd@gnu.org>
parents:
26088
diff
changeset
|
104 sigprocmask (SIG_SETMASK, &sigprocmask_set, NULL)) |
40677
31330b54d542
(sigunblock): Don't define if already defined.
Eli Zaretskii <eliz@gnu.org>
parents:
33408
diff
changeset
|
105 #endif |
2122
f3c105f296b2
* syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents:
637
diff
changeset
|
106 |
f3c105f296b2
* syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents:
637
diff
changeset
|
107 #else |
f3c105f296b2
* syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents:
637
diff
changeset
|
108 #ifdef USG |
f3c105f296b2
* syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents:
637
diff
changeset
|
109 |
40677
31330b54d542
(sigunblock): Don't define if already defined.
Eli Zaretskii <eliz@gnu.org>
parents:
33408
diff
changeset
|
110 #ifndef sigunblock |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
40677
diff
changeset
|
111 #define sigunblock(sig) |
40677
31330b54d542
(sigunblock): Don't define if already defined.
Eli Zaretskii <eliz@gnu.org>
parents:
33408
diff
changeset
|
112 #endif |
2122
f3c105f296b2
* syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents:
637
diff
changeset
|
113 |
f3c105f296b2
* syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents:
637
diff
changeset
|
114 #else |
563 | 115 |
40677
31330b54d542
(sigunblock): Don't define if already defined.
Eli Zaretskii <eliz@gnu.org>
parents:
33408
diff
changeset
|
116 #ifndef sigunblock |
563 | 117 #define sigunblock(SIG) \ |
118 { SIGMASKTYPE omask = sigblock (SIGEMPTYMASK); sigsetmask (omask & ~SIG); } | |
40677
31330b54d542
(sigunblock): Don't define if already defined.
Eli Zaretskii <eliz@gnu.org>
parents:
33408
diff
changeset
|
119 #endif |
563 | 120 |
2122
f3c105f296b2
* syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents:
637
diff
changeset
|
121 #endif /* ! defined (USG) */ |
f3c105f296b2
* syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents:
637
diff
changeset
|
122 #endif /* ! defined (USG5_4) */ |
f3c105f296b2
* syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents:
637
diff
changeset
|
123 #endif /* ! defined (POSIX_SIGNALS) */ |
563 | 124 |
125 #ifndef SIGMASKTYPE | |
126 #define SIGMASKTYPE int | |
127 #endif | |
128 | |
129 #ifndef SIGEMPTYMASK | |
637 | 130 #define SIGEMPTYMASK (0) |
131 #endif | |
132 | |
133 #ifndef SIGFULLMASK | |
134 #define SIGFULLMASK (0xffffffff) | |
563 | 135 #endif |
136 | |
137 #ifndef sigmask | |
138 #define sigmask(no) (1L << ((no) - 1)) | |
139 #endif | |
140 | |
637 | 141 #ifndef sigunblock |
142 #define sigunblock(SIG) \ | |
143 { SIGMASKTYPE omask = sigblock (SIGFULLMASK); sigsetmask (omask & ~SIG); } | |
144 #endif | |
145 | |
146 #define sigfree() sigsetmask (SIGEMPTYMASK) | |
147 | |
26088
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
148 #if defined (SIGINFO) && defined (BROKEN_SIGINFO) |
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
149 #undef SIGINFO |
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
150 #endif |
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
151 #if defined (SIGIO) && defined (BROKEN_SIGIO) |
66222
c37814853783
[__Lynx__]: Undef SIGPOLL along with SIGIO.
Eli Zaretskii <eliz@gnu.org>
parents:
64770
diff
changeset
|
152 # undef SIGIO |
c37814853783
[__Lynx__]: Undef SIGPOLL along with SIGIO.
Eli Zaretskii <eliz@gnu.org>
parents:
64770
diff
changeset
|
153 # if defined (__Lynx__) |
c37814853783
[__Lynx__]: Undef SIGPOLL along with SIGIO.
Eli Zaretskii <eliz@gnu.org>
parents:
64770
diff
changeset
|
154 # undef SIGPOLL /* Defined as SIGIO on LynxOS */ |
c37814853783
[__Lynx__]: Undef SIGPOLL along with SIGIO.
Eli Zaretskii <eliz@gnu.org>
parents:
64770
diff
changeset
|
155 # endif |
26088
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
156 #endif |
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
157 #if defined (SIGPOLL) && defined (BROKEN_SIGPOLL) |
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
158 #undef SIGPOLL |
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
159 #endif |
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
160 #if defined (SIGTSTP) && defined (BROKEN_SIGTSTP) |
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
161 #undef SIGTSTP |
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
162 #endif |
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
163 #if defined (SIGURG) && defined (BROKEN_SIGURG) |
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
164 #undef SIGURG |
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
165 #endif |
33408
f07928f0dede
Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
Kenichi Handa <handa@m17n.org>
parents:
29811
diff
changeset
|
166 #if defined (SIGAIO) && defined (BROKEN_SIGAIO) |
f07928f0dede
Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
Kenichi Handa <handa@m17n.org>
parents:
29811
diff
changeset
|
167 #undef SIGAIO |
f07928f0dede
Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
Kenichi Handa <handa@m17n.org>
parents:
29811
diff
changeset
|
168 #endif |
f07928f0dede
Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
Kenichi Handa <handa@m17n.org>
parents:
29811
diff
changeset
|
169 #if defined (SIGPTY) && defined (BROKEN_SIGPTY) |
f07928f0dede
Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
Kenichi Handa <handa@m17n.org>
parents:
29811
diff
changeset
|
170 #undef SIGPTY |
f07928f0dede
Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
Kenichi Handa <handa@m17n.org>
parents:
29811
diff
changeset
|
171 #endif |
f07928f0dede
Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
Kenichi Handa <handa@m17n.org>
parents:
29811
diff
changeset
|
172 |
26088
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
173 |
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
174 #if NSIG < NSIG_MINIMUM |
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
175 # ifdef NSIG |
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
176 # undef NSIG |
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
177 # endif |
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
178 # define NSIG NSIG_MINIMUM |
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
179 #endif |
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
180 |
563 | 181 /* On bsd, [man says] kill does not accept a negative number to kill a pgrp. |
182 Must do that using the killpg call. */ | |
16220
02044b05d8e0
Replaced symbol BSD with BSD_SYSTEM.
Karl Heuer <kwzh@gnu.org>
parents:
16054
diff
changeset
|
183 #ifdef BSD_SYSTEM |
563 | 184 #define EMACS_KILLPG(gid, signo) (killpg ( (gid), (signo))) |
185 #else | |
9796
de7579c71881
[WINDOWSNT] (EMACS_KILLPG): Use win32_kill_process.
Richard M. Stallman <rms@gnu.org>
parents:
8361
diff
changeset
|
186 #ifdef WINDOWSNT |
15093
a18e7d41286a
(EMACS_KILLPG) [WINDOWSNT]: Invoke kill instead of win32_kill_process.
Richard M. Stallman <rms@gnu.org>
parents:
14487
diff
changeset
|
187 #define EMACS_KILLPG(gid, signo) (kill (gid, signo)) |
9796
de7579c71881
[WINDOWSNT] (EMACS_KILLPG): Use win32_kill_process.
Richard M. Stallman <rms@gnu.org>
parents:
8361
diff
changeset
|
188 #else |
563 | 189 #define EMACS_KILLPG(gid, signo) (kill (-(gid), (signo))) |
190 #endif | |
9796
de7579c71881
[WINDOWSNT] (EMACS_KILLPG): Use win32_kill_process.
Richard M. Stallman <rms@gnu.org>
parents:
8361
diff
changeset
|
191 #endif |
563 | 192 |
193 /* Define SIGCHLD as an alias for SIGCLD. There are many conditionals | |
194 testing SIGCHLD. */ | |
195 #ifdef SIGCLD | |
196 #ifndef SIGCHLD | |
197 #define SIGCHLD SIGCLD | |
2122
f3c105f296b2
* syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents:
637
diff
changeset
|
198 #endif /* SIGCHLD */ |
f3c105f296b2
* syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents:
637
diff
changeset
|
199 #endif /* ! defined (SIGCLD) */ |
26088
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
200 |
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
201 #ifndef HAVE_STRSIGNAL |
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
202 /* strsignal is in sysdep.c */ |
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
203 char *strsignal (); |
b7aa6ac26872
Add support for large files, 64-bit Solaris, system locale codings.
Paul Eggert <eggert@twinsun.com>
parents:
21932
diff
changeset
|
204 #endif |
52401 | 205 |
80572
32bd922619ad
(FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
206 #ifdef FORWARD_SIGNAL_TO_MAIN_THREAD |
58986
59945307b86b
* syssignal.h: Declare main_thread.
Jan Djärv <jan.h.d@swipnet.se>
parents:
55308
diff
changeset
|
207 #define SIGNAL_THREAD_CHECK(signo) \ |
59945307b86b
* syssignal.h: Declare main_thread.
Jan Djärv <jan.h.d@swipnet.se>
parents:
55308
diff
changeset
|
208 do { \ |
75408
5b7720054d45
(SIGNAL_THREAD_CHECK): Use pthread_equal.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75227
diff
changeset
|
209 if (!pthread_equal (pthread_self (), main_thread)) \ |
58986
59945307b86b
* syssignal.h: Declare main_thread.
Jan Djärv <jan.h.d@swipnet.se>
parents:
55308
diff
changeset
|
210 { \ |
59945307b86b
* syssignal.h: Declare main_thread.
Jan Djärv <jan.h.d@swipnet.se>
parents:
55308
diff
changeset
|
211 /* POSIX says any thread can receive the signal. On GNU/Linux \ |
59945307b86b
* syssignal.h: Declare main_thread.
Jan Djärv <jan.h.d@swipnet.se>
parents:
55308
diff
changeset
|
212 that is not true, but for other systems (FreeBSD at least) \ |
59945307b86b
* syssignal.h: Declare main_thread.
Jan Djärv <jan.h.d@swipnet.se>
parents:
55308
diff
changeset
|
213 it is. So direct the signal to the correct thread and block \ |
59945307b86b
* syssignal.h: Declare main_thread.
Jan Djärv <jan.h.d@swipnet.se>
parents:
55308
diff
changeset
|
214 it from this thread. */ \ |
59945307b86b
* syssignal.h: Declare main_thread.
Jan Djärv <jan.h.d@swipnet.se>
parents:
55308
diff
changeset
|
215 sigset_t new_mask; \ |
59945307b86b
* syssignal.h: Declare main_thread.
Jan Djärv <jan.h.d@swipnet.se>
parents:
55308
diff
changeset
|
216 \ |
59945307b86b
* syssignal.h: Declare main_thread.
Jan Djärv <jan.h.d@swipnet.se>
parents:
55308
diff
changeset
|
217 sigemptyset (&new_mask); \ |
59945307b86b
* syssignal.h: Declare main_thread.
Jan Djärv <jan.h.d@swipnet.se>
parents:
55308
diff
changeset
|
218 sigaddset (&new_mask, signo); \ |
59945307b86b
* syssignal.h: Declare main_thread.
Jan Djärv <jan.h.d@swipnet.se>
parents:
55308
diff
changeset
|
219 pthread_sigmask (SIG_BLOCK, &new_mask, 0); \ |
59945307b86b
* syssignal.h: Declare main_thread.
Jan Djärv <jan.h.d@swipnet.se>
parents:
55308
diff
changeset
|
220 pthread_kill (main_thread, signo); \ |
59945307b86b
* syssignal.h: Declare main_thread.
Jan Djärv <jan.h.d@swipnet.se>
parents:
55308
diff
changeset
|
221 return; \ |
59945307b86b
* syssignal.h: Declare main_thread.
Jan Djärv <jan.h.d@swipnet.se>
parents:
55308
diff
changeset
|
222 } \ |
59945307b86b
* syssignal.h: Declare main_thread.
Jan Djärv <jan.h.d@swipnet.se>
parents:
55308
diff
changeset
|
223 } while (0) |
59945307b86b
* syssignal.h: Declare main_thread.
Jan Djärv <jan.h.d@swipnet.se>
parents:
55308
diff
changeset
|
224 |
80572
32bd922619ad
(FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
225 #else /* not FORWARD_SIGNAL_TO_MAIN_THREAD */ |
58986
59945307b86b
* syssignal.h: Declare main_thread.
Jan Djärv <jan.h.d@swipnet.se>
parents:
55308
diff
changeset
|
226 #define SIGNAL_THREAD_CHECK(signo) |
80572
32bd922619ad
(FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
227 #endif /* not FORWARD_SIGNAL_TO_MAIN_THREAD */ |
52401 | 228 /* arch-tag: 4580e86a-340d-4574-9e11-a742b6e1a152 |
229 (do not change this comment) */ |